先打开vim
设置显示行号
在 vim 里执行(在普通模式下直接按冒号,并输入下面的命令)
:set number
1.按键盘上的Esc按键进入vi的命令行模式
2.点击Ctrl和v按键
3.按上下左右键选中要删除的内容
4.按d即可删除选中的列
sed '/\([0-9]\)\([0-9]\)\([0-9]\)/\1\3/' filename看看输出结果,结果正确的话用
sed -i '/\([0-9]\)\([0-9]\)\([0-9]\)/\1\3/' filename直接修改文件
awk -F"[-,]" '{for(i=1i<=NFi++)a[$i,NR]++}{for(j in a){split(j,b,SUBSEP)if(b[2]==NR)printf b[1]" "} printf "\n"}' 关键词.txt >去除重复后.txt以此例测试通过。
关于awk二维数组的使用:
awk的多维数组在本质上是一维数组,更确切一点,awk在存储上并不支持多维数组。awk提供了逻辑上模拟二维数组的访问方式。例如,array[2,4] = 1这样的访问是允许的。awk使用一个特殊的字符串SUBSEP (\034)作为分割字段,在上面的例子中,关联数组array存储的键值实际上是2\0344。
类似一维数组的成员测试,多维数组可以使用 if ( (i,j) in array)这样的语法,但是下标必须放置在圆括号中。
类似一维数组的循环访问,多维数组使用 for ( item in array )这样的语法遍历数组。与一维数组不同的是,多维数组必须使用split()函数来访问单独的下标分量。split ( item, subscr, SUBSEP)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)