VIマクロをLinuxに対応するマクロに置き換える

VIマクロをLinuxに対応するマクロに置き換える

私のファイルがLinuxサーバーに到達し、^MVIに表示されると、文字とファイル形式= unixが含まれます。(ff=unix)

1~4行を9~10行に変更したいです。 ここに画像の説明を入力してください。

私のviマクロは私の問題を解決しました。 /\r/\rxJ

を見つけて削除し、その^M行を前の行にリンクします。

sed、awk、または一部のUnixユーティリティでこれをどのように実行できますか?

ベストアンサー1

次のいずれかを試してください。

awk -vORS= '{print sub(/\r$/,"") ? $0" " : $0"\n"}' < infile > outfile

awk 'ORS = sub(/\r$/,"") ? " " : "\n"' < infile > outfile

perl -pe 's/\r\n/ /' < infile > outfile

またはその場で:

perl -pe 's/\r\n/ /' -i file

おすすめ記事