我在下面有一个 awk 语句,我希望在每个输出行之前和之后添加一些文本。
grep "id\": \"http://mysite.com/movies/new/id/" new_id.txt | head -n1217 | awk -F/ ' { print $7 } ' | awk -F\" ' { print $1 } '
这让我得到了相关 ID 的列表,但我需要获取它输出的每一行并预先添加一些文本。我怎么能做到这一点,用awk?赛德?
我在下面有一个 awk 语句,我希望在每个输出行之前和之后添加一些文本。
grep "id\": \"http://mysite.com/movies/new/id/" new_id.txt | head -n1217 | awk -F/ ' { print $7 } ' | awk -F\" ' { print $1 } '
这让我得到了相关 ID 的列表,但我需要获取它输出的每一行并预先添加一些文本。我怎么能做到这一点,用awk?赛德?
一种在行前添加和追加行的方法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