1

ファイルを変更する bash スクリプトがあります。行を見つけて別の引数に置き換える sed があります。

sed -i 's@.leaflet-right {@/.leaflet-left {@g' "$<Path_to_my_file...>"

ただし、代わりに次の行を含む行を見つけてから.leaflet-right {次の行を変更したいと思いますright: 0;left: 0;

4

2 に答える 2

3
#% cat tester
blah
blah
.leaflet-right {
right: 0; CHANGE
right  LEAVE
blah
blah   

その後

 sed  '/.leaflet-right/{n;s/right/left/;}' < tester

与える

blah
blah
.leaflet-right {
left: 0; CHANGE
right  LEAVE
blah
blah
于 2013-02-07T10:30:45.777 に答える
1

awk では、次のように行数を使用できます。

これにより、何かが発生した行の行番号が出力されます (この例では、 text が含まれていますsomething)

awk '/something/ {print NR}'

これにより、前の行から 2 番目のフィールドが出力されます

awk -v v1=2 {if (FNR==v1-1) print $2}'

最終結果のために sed と awk の組み合わせを作成できます。

于 2013-02-07T09:16:30.480 に答える