4

改行文字ではなく"\n"特殊文字が含まれるプレーンテキストファイルがあります。

今、私はこのファイルをソートしたいと思います。

sortUNIXコマンドの使用中にカスタム改行文字を指定する直接的な方法はありますか? 可能な限りスクリプトを使用したくないですか?

\nテキスト ファイル内のデータには、\r\n、および文字が含まれていることに注意してください\t(このようなデータの理由はアプリケーション固有であるため、コメントしないでください)。

サンプルデータは以下の通りです。

1111\n1111<Ctrl+A>
2222\t2222<Ctrl+A>
3333333<Ctrl+A>

これCtrl+Aが改行文字です。

4

1 に答える 1

3

これを行うために使用perl -001e 'print sort <>'します:

prompt$ cat -tv /tmp/a
2222^I2222^A3333333^A1111
1111^A

prompt$ perl -001e 'print sort <>' /tmp/a | cat -tv    
1111
1111^A2222^I2222^A3333333^Aprompt$  

これは、文字 001 (8 進数の 1) が control-A ( "\cA") であるため機能します。これは、このデータセットのレコード ターミネータです。

を使用して、コード ポイントを 16 進数で使用することもできます-0xHHHHH。このショートカットを使用して、文字列ではなく単一のコード ポイントである必要があることに注意してください。文字列や、非常に多くのコードを含む正規表現に対しても、それを行う方法があります。

于 2012-08-02T13:34:27.387 に答える