私のディレクトリにはいくつかのファイルがあります。たとえば、次のようになります。
data1.dat
data2.dat
....
data24678.dat
別のコードを実行するには、ファイル名を含むテキストファイルが必要ですが、各テキストファイルを50個のファイルに分割する必要があります。たとえば、次のようになります。 File1.txt:
/PATH/OF/FILE/data1.data
/PATH/OF/FILE/data2.data
/PATH/OF/FILE/data3.data
......
/PATH/OF/FILE/data50.data
ファイル2.txt:
/PATH/OF/FILE/data51.data
/PATH/OF/FILE/data52.data
/PATH/OF/FILE/data53.data
......
/PATH/OF/FILE/data100.data
どんなアイデアがありますか? ?私は努力しています:
ls -1 | xargs -n 50 >> File1.txt
しかし、xargsコマンドで各「アイテム」を選択した人はわかりません。ありがとうございます! !
答え1
ls -1 | split --lines=10
ファイルを同じディレクトリに配置します。これは次の方法で回避できます。
ls -1 | (cd /where/ever; split --lines=10)
または別のファイル名を使用してください。
ls -1 | split --lines=10 /dev/stdin /path/to/splitfile.
答え2
次のことを試してください(split
ほとんどのLinuxディストリビューションではデフォルトのGNUを使用して):
ls |
sed "s:^:$(pwd)/:" |
split -dl 50 --additional-suffix=.txt - /path/to/dest/File