一行从第一列制表符分隔文件中擦除单词"id"



我有一个 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 to,myfile.woid.txt

1 1 2 id3 4 5 6 7 8 9
2 10 20 id30 40 50 60 70 80 90

等。

请注意,单词 "id" 已从第一列中删除。

这个尴尬的单行代码可以:

awk -F't' '{gsub(/id/,"",$1);print}' file

另一个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

尝试:

awk '{sub (/^id/, "", $0)}{print}' myfile.woid.txt

有关更多详细信息:man awk或 http://unixhelp.ed.ac.uk/CGI/man-cgi?awk

替代解决方案:

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

最新更新