GNU/Linux >> Linux の 問題 >  >> Linux

tr コマンド - 文字列 \n を実際の改行 (\n) に置き換える方法

Perl ソリューションは、sampson-chen の sed ソリューションに似ています。 :

perl -pe 's/\\n/\n/g'

例:

リテラル \n (改行ではない) を含む入力ファイル:

$ cat test1.txt          
foo\nbar\n\nbaz

\n の出現箇所をすべてリテラルに置き換えます 実際の改行を使用して、STDOUT に出力します :

$ perl -pe 's/\\n/\n/g' test1.txt
foo
bar

baz

同じように、入力ファイルをその場で変更し、バックアップを test1.txt.bak に保存します :

$ perl -i.bak -pe 's/\\n/\n/g' test1.txt

Perl ワンライナーでは、次のコマンド ライン フラグを使用します。
-e :ファイル内ではなくインラインでコードを探すように Perl に指示します。
-p :入力を 1 行ずつループし、$_ に割り当てます。 デフォルトで。 print $_ を追加 各ループ反復の後。
-i.bak :入力ファイルをその場で編集します (入力ファイルを上書きします)。上書きする前に、ファイル名に拡張子 .bak を追加して、元のファイルのバックアップ コピーを保存します。 .

関連項目:
perldoc perlrun :Perl インタープリターの実行方法:コマンド ライン スイッチ
perldoc perlre :Perl 正規表現 (正規表現)


sed でそれを行う方法は次のとおりです :

sed 's/\\n/\n/g'

使用例:

\n をすべて置換するには ファイルのインプレース:

sed -i 's/\\n/\n/g' input_filename

\n をすべて置換するには パイプを介して、別のファイルに保存

cat file1 file2 file3 file4 | sed 's/\\n/\n/g' > output_file

Linux
  1. LinuxでTarコマンドを使用する方法

  2. findコマンドを使用して権限を監査する方法

  3. Linuxでjar内のファイルをコマンドラインに置き換える方法は?

  1. ファイル内の文字列を置き換える方法は?

  2. Iconvに入力ファイルを変換された出力に置き換える方法は?

  3. ファイルの最後に改行を追加するにはどうすればよいですか?

  1. 改行をNulに置き換えますか?

  2. 最大のファイル記述子を持つプロセスを見つける方法は?

  3. ファイルの最後の文字である改行を削除するにはどうすればよいですか?