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

ファイルをその場でソートする方法

-o を使用できます 、 --output=FILE 同じ入力ファイルと出力ファイルを示すソートのオプション:

sort -o file file

ファイル名を繰り返さずに (bash ブレース展開を使用)

sort -o file{,}

⚠️ 重要事項: よくある間違いは、出力を同じ入力ファイルにリダイレクトしようとすることです (例:sort file > file )。シェルがリダイレクトを行っているため (sort(1) ではなく)、これは機能しません。 プログラム) と入力ファイル (出力も同様) は、sort(1) を実行する直前に消去されます 読む機会をプログラムしてください。


sort コマンドは、デフォルトでソート操作の結果を標準出力に出力します。 「その場で」並べ替えるには、次のようにします。

sort -o file file

これにより、入力 file が上書きされます ソートされた出力で。 -o 出力を指定するために使用されるスイッチは、POSIX で定義されているため、sort のすべてのバージョンで使用できるはずです。 :

<ブロック引用>

-o 標準出力の代わりに使用する出力ファイルの名前を指定します。このファイルは、入力ファイルの 1 つと同じにすることができます。

残念ながら sort のバージョンを持っている場合 -o なし スイッチ (Luis は、それらが存在することを保証します) を使用すると、標準的な方法で「インプレース」編集を実現できます:

sort file > tmp && mv tmp file

Linux
  1. ファイルをスパースにする方法は?

  2. ファイル内で \n を grep する方法

  3. ls をファイル拡張子でソートしてから名前を付ける方法は?

  1. ファイルをインプレースで変更する方法は?

  2. awkを使用してファイルをインプレースで変更するには? (sed -i と同様)

  3. ファイルをトランザクション的にコピーする方法は?

  1. Du出力をサイズで並べ替える方法は?

  2. ファイルの一部を並べ替えますか?

  3. Linuxでファイルの名前を変更するにはどうすればよいですか?