awk 'BEGIN {FS="|"} {DH=substr($2,1,11);\ DHA='DH'0;\ DHB='DH'1;\ gsub(/'DHA'/,'DHB',$2)};{print $0}' /tmp/gsdj.ttx > gsdj.txt 文件gsdj.ttx内容如下: 0516001|0516001000300233258|0|0|0|1|1899/12/31|1899/12/31|2005/03/18|180| 0516001|0516001000000006726|0|0|0|1|1899/12/31|1899/12/31|2004/03/24|180| 0516001|0516001000000105089|0|1|0|0|2004/02/09|1899/12/31|1899/12/31|0| 我的想法是用DH中的字符串后加一...
by johnsilver - Shell - 2006-02-08 00:49:57 阅读(3488) 回复(9)
比如,文件aaa: abcdefghijkl abcdegfhijkl 如果是fg,则替换为123;如果是gf,则替换为456。而且前后的字符全都要保留。 实际文本并不止2行。而且要替换的字符串也很多。我研究了半天,就是没发现有类似elif的语句可以使用。 不知大家还有什么好方法?
awk '$1=="01234张三风abcdef" {print substr($1,1,7)}' 1.txt 输出为“01234张三”,但是我想让它输出为“01234张”,需要在环境变量中进行哪些设置?
我有一个文件,存储的内容格式是: test1%Cfile1%Ca1 test2%Cfile3%Ca2 test4%Cfile4%Ca1 ... 我想用%C做分割符,用awk来统计其中的行数,但是我写的语句总是错误,各位高手能给指点一下吗?谢谢了! 我写的是: awk -F%C '{print $2}' input
本人想在shell 里面实现以下功能: temp="andy michael liu" 想得到的输出结果是每行显示一个单词,即: andy michael liu 且输出单词都保持整齐,自动补齐前面的空格,请问这个用awk怎么实现,又或者用别的方法也可以,谢谢各位.
ls -lR | awk 'BGEIN{print FILENAME}' 2>/dev/null 可以递归打出某目录下的所有文件名, 但这些文件名是带路径的,如:tmp/test/a.c 请问如何在awk中把路径去掉,只打出a.c?