2017-01-12 10 views
1

私はいくつかのテキストファイルを持っています(すべてのファイルは各行にこのスキームを持っています)123:abc)これらと別々のファイルを作成したいと思います。すべての行(ただしuniq)を持つ1つの大きなファイル。トークン ":"の後の文字列を含むファイル。パイプでbashscriptを短くしてください

cat *.txt >> bigtextfile.txt 
sort -u bigtextfile.txt -o bigtextfile.txt 
cat bigtextfile.txt | cut -d: -f2 >> bigtextfile-filtered.txt 

をしかし、私は、パイプとはるかに短いこれを行うことができます。

これは、ここでは動作しますか?

答えて

3

sortは、複数のファイルの入力を受け付けます。

sort -u *.txt -o bigtextfile.txt 

cutを、ファイル入力パラメータ、catの必要はありませんを受け付けます。

cut -d: -f2 bigtextfile.txt >> bigtextfile-filtered.txt 

あなたは自分自身でbigtextfile.txtを必要としてちょうど1行であることを行うことができますbigtextfile-filtered.txtを生成する中間体として、それを使用しない場合:

sort -u *.txt | cut -d: -f2 >> bigtextfile-filtered.txt 
1

私がお勧め:あなたのbigtextfile.txt 1に座って生成することができますので、

sort -u *.txt | cut -d: -f2 >> bigtextfile-filtered.txt 
0

これを試してみてください:

cat *.txt | sort -u | cut -d: -f2 >> bigtextfile-filtered.txt 
関連する問題