0

次のようなファイルがあります。

{{}} line 1
{{}} line 2
line 3
line 4
{{}} line 5
line 6

私がやりたいのは、 で始まるファイルの最後の行を、{{}}で 2 番目から最後の行の後に移動することです{{}}。したがって、最終結果は次のようになります。

{{}} line 1
{{}} line 2
{{}} line 5
line 3
line 4
line 6

そうである必要があります( 、、、またはその他のコマンドをbash呼び出しても問題ありません)。sedperlhead

4

3 に答える 3

3

片道awk:

awk '$1!="{{}}"{move[++i]=$0;next}1 END{for(x=1;x<=length(move);x++)print move[x]}' file
于 2013-06-23T22:00:00.277 に答える
3

行が で始まる場合は{{}}、それを印刷し、それ以外の場合は後で保存します。

perl -ne 'if (/^\Q{{}}/) {print}else{push @r,$_} }{print @r' file
于 2013-06-23T21:48:55.330 に答える