Split

哪個版本的拆分支持標誌-p?

  • July 23, 2016

此命令在 GNU Coreutils split、Cern Linux 5 (Redhat) 和 BSD (Apple Yosemite 10.10.3) 的拆分中不起作用:

split -p'\0' input.txt

其中 input.txt 是masi\0hello\0world。關於版本的一些評論如下:

  • split -p'\0' input.txt在 BSD Split 中執行,但在 OSX Yosemite 10.10.3、GNU bash、版本 3.2.57(1)-release (x86_64-apple-darwin14) 中沒有任何輸出。
  • echo 'masi\0hello' | split -p'\\0'在 CERN Linux 5 (Redhat) 中拆分 5.97 GNU 2012。輸出split: unrecognized option --p\\0'
  • GNU Coreutils split 中沒有選項 -p

我忘記了在哪裡成功使用了該-p選項split。哪個版本支持該標誌split -p

Mac OS X 中的-p選項將在行匹配時拆分\0。所以你需要在\0. 抱歉,我沒有適合您的解決方案。你用錯了工具。你可能會研究 perl。將您的 NUL 字元轉換為CTRL- A,添加換行符,然後使用 split with -p'^A'( CTRL- V CTRL- A)。例如,您可以執行以下操作:

cat input.txt |perl -p -e 's/\0/\n^A\n/g'| split -p ^A

在哪裡- ,但我不確定這很重要^ACTRL``A

引用自:https://unix.stackexchange.com/questions/211803