\r\n
行末(CRLFキャリッジ戻り改行)を含むファイルがあります。
このコマンドの仕組み:
$ csplit --silent --prefix=email-emailbad.txt- \
--digits=3 emailbad.txt '/^\.^M/'+1 '{*}'
実際のキャリッジリターン文字を挿入するには、まず+CTLRを押してから+を押す必要があります。VCTRLM
印刷可能な文字(SVNなど)のみを使用するように機能したいと思います。
$ csplit --silent --prefix=email-emailbad.txt- \
--digits=3 emailbad.txt '/^\.\r/'+1 '{*}'
私は一重引用符と二重引用符を使用し、引用符なしで試しました。どんな提案でも歓迎します。
答え1
ksh93
、zsh
またはを使用している場合は、引用符付き文字列内でCスタイルのバックスラッシュエスケープ解釈を実行するksh拡張をbash
使用できます。$'...'
csplit --silent --prefix=email-emailbad.txt- --digits=3 \
emailbad.txt $'/^\.\r/+1' '{*}'
それ以外の場合は、printf
非常に似た方法で文字列を作成できます。
csplit --silent --prefix=email-emailbad.txt- --digits=3 \
emailbad.txt "$(printf '/^\.\r/+1')" '{*}'