一行内容从第一列制表符分隔文件中删除单词“id”

时间:2013-10-13 00:46:33

标签: linux awk

我有一个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"已从第一列删除。

4 个答案:

答案 0 :(得分:3)

这个awk one-liner会这样做:

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 awkhttp://unixhelp.ed.ac.uk/CGI/man-cgi?awk

答案 3 :(得分:1)

替代解决方案:

 awk 'BEGIN{j=1}{$1=j++; print}'>myfile.woid.txt myfile.wid.txt