2017-05-01 13 views
0

testと呼ばれるファイルがLinuxにあります。今私はtestを10個の小さなファイルに分割したいと思っています。大きなファイルを小さなファイルに分割する方法Linux/Bashで接頭辞付きのファイル

testファイルには1000を超えるテーブル名があります。小さなファイルの行数を同じにしたい、最後のファイルのテーブル名を同じにするかどうかを指定します。

私が望むのは、Linux端末でsplitコマンドを呼び出す際に、分割ファイルにプレフィックスを追加することができます。

Sample:

test_xaa test_xab test_xac and so on.............. 

は、Linuxでこれが可能です。

+0

明らかになっていないのは、小さなファイルがテーブルの数と同じであることを意味しますか? – RomanPerekhrest

+0

テストファイルの断片を2つの塊(2つのファイル)に分割することができます – RomanPerekhrest

+0

google 'csplit' – jm666

答えて

1

+0

'split'バージョン8.22を実行している場合、' -l $(($(wc -l <​​test.txt)/ 10 + 1)) 'を置き換える' -n'をサポートしています。コマンドは 'split -n 10 test.txt test_x'になります。 – alvits

+1

@alvitsいいえ、それは行を分割することはできません。 – 123

+0

@ 123 - あなたが正しいです。 '-n l/10'を入れるのを忘れてしまった。 'split -n l/10 test.txt test_x'にする必要があります。 – alvits

0

私は自分自身でこれをやったことを誓っただろうが、私の驚きには、それはしない。

は、あなたの接頭辞を取得し、このような何かをしようとするには:私は私は望ましい結果を得ることができたこれで次の文

split -l $(($(wc -l < test.txt)/10 + 1)) test.txt test_x 

で私の質問を解決することができた

for x in /path/to/your/x*; do 
    mv $x your_prefix_$x 
done 
関連する問題