列出我正在使用的第3列
awk '{print $3}' inputfile.txt
,其输出看起来像
abc
xyz
lmn
pqr
但我需要输出
abc xyz lmn pqr
我怎么能得到这个?
答案 0 :(得分:2)
这可能适合你(GNU sed):
sed -r 's/((\S*)\s){3}.*/\2/;1h;1!H;$!d;x;y/\n/ /' file
或更容易:
cut -d\ -f3 file | paste -sd\
答案 1 :(得分:1)
音译换行到空格
... | tr '\n' ' '
答案 2 :(得分:1)
使用awk
Output Record Separator变量。
awk -v ORS=' ' '{print $3}' inputfile.txt
答案 3 :(得分:1)
print
将始终附加换行符(实际上,它将使用ORS
值)。如果您想要更多控制权,可以使用printf
:
awk '{printf "%s ", $3}'
这也将在最后打印一个额外的空格字符,但对于大多数用例,这个额外的空间是无害的。
答案 4 :(得分:1)
避免在行的开头或结尾添加空格:
awk '{printf "%s%s", fs, $3; fs=FS} END{print ""}' file