如何使用awk在文本文件中显示某些字段?

时间:2012-12-24 13:24:06

标签: linux bash awk

我有一个这样的文本文件:

1 http 2 3 4 5 
2 dns 3 4 
3 ftp 3 4 5 6 8 

我希望输出如下:

http 2 3 4 5 
dns 3 4 
ftp 3 4 5 6 8 

我只想省略该文件中第一列的节点,并且某行中的字段编号不固定。

我可以使用awk完成此目标吗?

5 个答案:

答案 0 :(得分:2)

您还可以使用剪切:cut -d' ' -f2-

编辑:如果您必须使用awk,请尝试awk '{$1=""; print $0}'

答案 1 :(得分:0)

这样的事可能吗?

awk '{$1 =""; print }' file

答案 2 :(得分:0)

如果您不关心剩余的字段分隔符,您可以这样做:

awk '{$1=""}1' filename

(假设文件名是您存储数据的地方)

答案 3 :(得分:0)

Drats,我打算给你一个Awk解决方案,然后推荐cut。看起来其他人已经打败了我。

但是,我还没有找到sed解决方案!

$ sed -n `s/^[^ ][^ ]*//p` yourfile.txt

答案 4 :(得分:0)

sed 's/^..//g' your_file
上面的

应该基于第一个字段始终是单个字符的条件。

或perl:

perl -pe 's/^[^\s]*\s//g' your_file