有一段时间我想学习如何使用csplit,所以今晚我尝试练习。我创建了一个包含一些文本的文件,在我想拆分文本的地方,我写了两个冒号 (::),中间有两个换行符,这样它们就形成了与文本其余部分分开的双倍行距段落。然后我csplit这样调用:
$csplit filename /::/
Run Code Online (Sandbox Code Playgroud)
当我看到打印到标准输出的唯一内容是一些数字时,我以为我失败了。但是当我查看目录列表时,我意识到我已经部分成功了。一堆文本已从其余文本中切掉,最上面的一点。我只需要csplit注意我放置了两个冒号的其他地方。但我无法弄清楚如何做到这一点。我以为可能是
$csplit filename /::/*/
Run Code Online (Sandbox Code Playgroud)
但唉,这没有用。
根据下面的答案,我也尝试过
me@localhost:~/folder$ csplit story3.bkp /::/'{*}'
Run Code Online (Sandbox Code Playgroud)
但我得到了
csplit: /::/{*}: integer expected after delimiter
Run Code Online (Sandbox Code Playgroud)
所以然后我尝试在 /::/ 之后添加一个空格 - 有效!