0

我在下面有一个 awk 语句,我希望在每个输出行之前和之后添加一些文本。

grep  "id\": \"http://mysite.com/movies/new/id/" new_id.txt | head -n1217 | awk -F/ ' { print $7 } ' | awk -F\" ' { print $1 } '

这让我得到了相关 ID 的列表,但我需要获取它输出的每一行并预先添加一些文本。我怎么能做到这一点,用awk?赛德?

4

1 回答 1

1

一种在行前添加和追加行的方法GNU sed

假设infile有数据:

one
two
three

和以下script.sed

1,$ {
    i\  
Text prepended (line 1)\ 
Text prepended (line 2
    a\  
Text appended (line 1)\ 
Text appended (line 2)
}

像这样运行它:

sed -f script.sed infile

这会产生:

Text prepended (line 1)
Text prepended (line 2
one
Text appended (line 1)
Text appended (line 2)
Text prepended (line 1)
Text prepended (line 2
two
Text appended (line 1)
Text appended (line 2)
Text prepended (line 1)
Text prepended (line 2
three
Text appended (line 1)
Text appended (line 2)

因此,您需要根据需要对其进行调整并将其添加到管道链的末端。


编辑sed单线:

sed -e 's/^/Text prepended\n/; s/$/\nText appended/' infile
于 2012-10-10T20:14:17.507 回答