我有一个带有行结尾的文件\r\n
(CRLF 回车换行符)。
该命令的工作原理:
$ csplit --silent --prefix=email-emailbad.txt- \
--digits=3 emailbad.txt '/^\.^M/'+1 '{*}'
这要求我先按CTLR+ V,然后按CTRL+M插入实际的回车符。
我希望它能起作用,这样我就只使用可打印字符(对于 SVN 等)
$ csplit --silent --prefix=email-emailbad.txt- \
--digits=3 emailbad.txt '/^\.\r/'+1 '{*}'
我尝试过使用单引号和双引号以及不带引号。欢迎任何建议。
答案1
如果您使用 、ksh93
、zsh
或bash
,则可以使用$'...'
ksh 扩展,它在带引号的字符串内执行 C 风格的反斜杠转义解释:
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')" '{*}'