"--numeric-suffixes" は "split" 引数と一緒には許可されません。

私が作成しているシェルスクリプトに分割コマンドを使用しようとしていますが、--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

ベストアンサー1

この特別な場合(-l 2)の場合、実際の内容の前に正確に2行(空白かどうかは重要ではありません)を追加することが解決策ですtest.txt。これはすぐに実行できます。

これにより、0番目のファイルsplit -a 1 -l 2 --numeric-suffixesに追加の行が含まれます。x0ファイルを削除します。残りの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=を検討する必要があります。

おすすめ記事