Arguments
“–numeric-suffixes”不允許帶有“split”的參數
我正在嘗試將 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=
,那麼您應該考慮升級。