行の入れ替え
sedは改行を置換し、sed"s/g"fileを使用します. 叶えられない
インターネットで調べて、使ってください.
sed":a;N;s/g;ta"file
または
sed":a;N;s/g;ba"file
:aとtaはセットで使用して、ジャンプ機能を実現します.tはtestテストという意味です. :aとbaの組み合わせ使用方式は、ジャンプ機能を実現することもできます.bはブランチという意味です.
branchはテキスト終了までループします.例えばsed":a;N;s//g;ba"a.txtは、自然言語に変換された記述です.
while(1){ N; s///g;)
testは、代替命令の完了が成功したかどうかによって、ジャンプするかを決めることができます.例えばsed":a;N;s//g;ta"a.txtを自然言語に変換した記述は、
while(state==1){璖注:デフォルトstateは1でいいです. N; s///g #注:成功しました.stateに戻ります.そうしないとstate=0に戻ります.このstateはジャンプ判定に使います.}else{ last;瑫コメント:循環文を終了します.
第一の方法:testジャンプコマンドを使用して、改行符sed「a;N;s/g;ta」file Nを置換し、次の行を現在のHold spaceモード空間に追加して、後続の処理を行わせ、最後のsedはHold spaceモード空間の内容をデフォルトで印刷する.つまり、sedは複数行のデータを扱うことができます.
第二の方法:branchジャンプコマンドを使用して、置換改行符~$sed":a;N;s/g;$ba"fileを増加させます.ba文、$は最後の行を意味します.マークaにジャンプしないと、コマンドサイクルを終了します.
同じように、下記のコマンドを使用することもできます.
~$sed":a;$N;s//g;ba"file
転載する https://blog.csdn.net/u011729865/article/details/71773840
どのように置き換えるかというと、すべての行を一行の第一の方式にすることです.
[root@localhost ~]# sed ':a;N;$!ba;s/
/ /g' file.txt
第二の方式
[root@localhost ~]# tr "
" " " < file.txt