awk不显示某一域的问题
想实现只显示某一文件从第n列开始以后的所有域
比如:文件hist的内容为:
22 2010-05-09 02:01:37 : wget -SO test http://g.top100.cn/test.gz
39 2010-05-09 02:01:37 : w
40 2010-05-09 02:01:37 : df -h
42 2010-05-09 02:01:37 : exit
52 2010-05-09 02:01:37 : squid -z
57 2010-05-09 02:01:37 : cat /etc/fstab
58 2010-05-09 02:01:37 : history
59 2010-05-09 02:01:37 : df -TH
61 2010-05-09 02:01:37 : ps -ef |grep ssh
想实现的功能是输出从$5开始到末尾的所有内容。
期望的显示结果为:
wget -SO test http://g.top100.cn/test.gz
w
df -h
exit
squid -z
cat /etc/fstab
history
df -TH
ps -ef |grep ssh
由于对每行来说NF值都是不一样的,所以只能通过不显示$1,$2,$3,$4来实现了。
请教怎么实现这个功能。
我写的一个程序内容如下:
awk '{
for(i=5;i<=NF;i++)
{
print $i
};
print "\n"
}' hist
输出为:
wget
-SO
test
http://g.top100.cn/test.gz
w
df
-h
exit
squid
-z
cat
/etc/fstab
history
df
-TH
ps
-ef
|grep
ssh
文件中同行$5后面的显示是都显示了,但是都换行显示了,怎么把他们显示到一列里呢?