分享一下:
seq 5 | sed 's/^/abc /g'
abc 1
abc 2
abc 3
abc 4
abc 5
seq 5 | xargs -i echo abc {}
seq 5 | xargs -i echo abc | cat -n | awk '{print $2" "$1}'
paste <(seq 5 | xargs -i echo abc) <(seq 5) | sed 's/\t/ /g'
seq 5 | awk '{print "abc "$1}'
seq 5 | sed 'i abc' | xargs -n 2
seq 5 | sed 'a abc' | xargs -n 2 | awk '{print $2" "$1}'
echo {1..5} | sed 's/^\| /\nabc /g' | sed '1d'
date | awk 'END{for(i=1;i<6;i++) print "abc "i;}'
whateverWeWriteIsOK_pleaseBelieveMe 2> /dev/null | awk 'END{for(i=1;i<6;i++) print "abc "i;}'
大家知道的别的方法请告诉我。
大家可以知道熟练基本的命令,是多么有用,反复用很多不同的方法实现同一功能,就是一种内在的提高。
思想是:
行头换成abc
打印 abc和变量{}
打印5行abc,加行号,并交换两列
直接把两个数据流paste起来,替换\t为空格
用awk直接打印abc和第一列
每行前面加一行abc,然后两行并为一行
每行后面加一行abc,然后两行并为一行,再交换两列
显示1 2 3 4 5 然后把行头和空格,全换成abc空格回车,再删除第一行
用awk直接像C程序一样写,前面灌入一个date作为数据流,不然awk不终止
用一个随便的命令,给awk作为数据流,当然要报错,所以用2> /dev/null把报错信息给压下来,不出现。
基本上,想一想就会有新方法,
这里面的快乐,自己清楚,别人也能体会得到。希望大家多练习。