AWK命令不打印所有文件行

时间:2017-04-11 05:28:35

标签: awk

script.sh

#!/bin/sh


awk '{if ($1=="%%Page:" && $2=="(1)" && $3== "1" ) {print "%%BeginPageSetup""\n""<<"" ""/Duplex" ;print $0;}

else if($1=="%%Page:" && $2=="(2)" && $3== "2" )  {print "%%BeginPageSetup" ;print $0}}' $1 > ss.txt

input.txt中

vaibhav
gupta
%%Page: (1) 1
vaibhav
gupta
%%Page: (2) 2
vaibhav

运行:

./script.sh input.text

输出:

%%BeginPageSetup
<< /Duplex
%%Page: (1) 1
%%BeginPageSetup
%%Page: (2) 2

输出应该是

vaibhav
gupta
%%BeginPageSetup
<< /Duplex
%%Page: (1) 1
vaibhav
gupta
%%BeginPageSetup
vaibhav

如上所述。

1 个答案:

答案 0 :(得分:0)

打印出要打印的内容:

if ($1=="%%Page:" && $2=="(1)" && $3== "1" ) ...
else if($1=="%%Page:" && $2=="(2)" && $3== "2" ) ...

&#34;如果第一个字段是%%Page:,第二个和第三个字段是(1)1(2)2&#34;。

看起来像这个废话:

ffjfjfjfjfjdrrr
gghhhhhh

dhjdfhjfhjfdhj
errrrrrrrre

ryryryryryryry

不符合您的编码要求。

要获得预期的输出,请先:}' $1 > ss.txt添加以下内容:else print

相关问题