私は次のコマンドを使用します。
tr '\n' ' ' < input.txt > output.txt
tr
新しい行を空白に変換するには、コマンドを使用します。
単一のファイルに対して機能しますが、複数のファイルがあり、単一のコマンドを実行する必要があります...テキスト交換のためには、次のようになります。
find /directory/. -type f -exec sed -i 's/oldtext/newtext/g' {} \;
bashスクリプト(上記のfindの使用など)に追加して削除できるコマンドはありますか\n
?
ベストアンサー1
これは、次に始まるすべてのファイル名に対してループなしで機能しますfile
。
perl -pe 's/\n/ /g' file*
このようなタスクはPerlを好みます。 sedと同じ構文を持ち、移植可能で、奇妙なsedパラメータはありません。-i
Perl(sedなど)にスイッチを適用して内部変更を実行することもできます。 (perl -i.old -pe ....
古いファイルは拡張子.oldでバックアップされます。使用でき、-i
バックアップファイルは保存されません。)
必要に応じて、find
次のコマンドを使用できます。
$ find . -type f -name 'file*' -exec bash -c 'tr "\n" " " <$0 >$0.new' {} \;