Arguments

“–numeric-suffixes”不允許帶有“split”的參數

  • November 22, 2019

我正在嘗試將 split 命令用於我正在編寫的 shell 腳本,並且我想使用 –numeric-suffixes 標誌來從 1 開始我的文件計數。我嘗試:

split -a 1 -l 2 --numeric-suffixes=1 test.txt

但是我得到的輸出是

split: option `--numeric-suffixes' doesn't allow an argument

不知道如何解決這個問題,但我嘗試了其他標誌,如 –additional-suffix ,但這也不起作用。如果我不包含 – 標誌,我的命令也可以正確執行。任何幫助將不勝感激(我是一個unix新手,所以請溫柔)


split --version輸出split (GNU coreutils) 5.97

split --help-d, --numeric-suffixes use numeric suffixes instead of alphabetic

在這種特殊情況下 ( -l 2) 的解決方法是在test.txt. 您可以即時執行此操作。

然後split -a 1 -l 2 --numeric-suffixes將生成從x0. 第 0 個文件將包含額外的行。刪除文件。剩餘x*的文件就像您使用--numeric-suffixes=1.

(printf '\n\n'; cat test.txt) | split -a 1 -l 2 --numeric-suffixes
rm x0

該方法可以推廣到匹配不同-l和不同的期望--numeric-suffixes=。您需要計算之前要添加多少行split以及之後要刪除哪些文件。

可以使用yes '' | head -n "$number". for可以通過循環刪除任意數量的文件。


如評論中所述,如果您split的設備太舊,它不支持--numeric-suffixes=,那麼您應該考慮升級。

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