0

ファイルの最後の 3 行目を見つける必要があり、「}」の場合は「}」に置き換える必要があります。

私はawksedを考え ていましたこれはファイルの最後の3行目を見つけます

 PATTERN=$(awk '{v[c++]=$0}END{print v[c-3]}' $file)

使いたかった

 sed -i 's/$PATTERN/}/' $file

でもこれは間違っている 進め方がわからない

4

2 に答える 2

0

これawkでうまくいくはずです(最後の3行目moreは掃除されています)

cat file
one
two },
three
four
more }, test }, hi
five },
yes

awk '{v[++c]=$0}END {for (i=1;i<=NR;i++) {if (v[c-3]~"},") gsub(/},/,"}",v[c-3]);print v[i]}}' t
one
two },
three
four
more }, test }, hi
five },
yes
于 2013-11-06T09:29:37.490 に答える