在輸入管道上使用SED時,如何將輸入插入將作爲linux命令使用的文本中間?使用SED管道輸入時的Concat文本
echo foobar | sed 's/^/one two /'
這將輸出one two foobar
。
我該如何使用SED重新格式化它,以便管道值在one foobar two
之間?
我已經嘗試在一行中管道兩個SED命令,但是這不起作用,格式化會搞砸。所以即時通訊尋找一種方法來完成一個單一的SED命令。
在輸入管道上使用SED時,如何將輸入插入將作爲linux命令使用的文本中間?使用SED管道輸入時的Concat文本
echo foobar | sed 's/^/one two /'
這將輸出one two foobar
。
我該如何使用SED重新格式化它,以便管道值在one foobar two
之間?
我已經嘗試在一行中管道兩個SED命令,但是這不起作用,格式化會搞砸。所以即時通訊尋找一種方法來完成一個單一的SED命令。
隨着perl
$ echo foobar | perl -lne 'print "one $_ two"'
one foobar two
-l
選項去掉從輸入線換行,並再次將其添加到print
聲明$_
默認變量續癌寧輸入線同樣與awk
$ echo foobar | awk '{print "one " $0 " two"}'
one foobar two
$0
是可選的,用於爲清楚起見
使用兩個'sed的s'一個用於開始,一個用於結束:例如'回聲foobar | sed's/^/one /; s/$/two /'' –