我有一个10列制表符分隔文件,我想从文件第一列的所有条目中删除单词"id"
。
是否有一个awk(或其他linux命令行)单行执行此操作?
即,myfile.withid.txt
id1 1 2 id3 4 5 6 7 8 9
id2 10 20 id30 40 50 60 70 80 90
等
使用awk,myfile.woid.txt
1 1 2 id3 4 5 6 7 8 9
2 10 20 id30 40 50 60 70 80 90
等
请注意,单词"id"
已从第一列删除。
答案 0 :(得分:3)
awk -F'\t' '{gsub(/id/,"",$1);print}' file
答案 1 :(得分:2)
另一个awk
awk '/^id/ {$0=substr($0,3)}1' file
1 1 2 id3 4 5 6 7 8 9
2 10 20 id30 40 50 60 70 80 90
答案 2 :(得分:1)
尝试:
awk '{sub (/^id/, "", $0)}{print}' myfile.woid.txt
有关详细信息,请参阅:man awk
或http://unixhelp.ed.ac.uk/CGI/man-cgi?awk
答案 3 :(得分:1)
替代解决方案:
awk 'BEGIN{j=1}{$1=j++; print}'>myfile.woid.txt myfile.wid.txt