a.txt
cat a.txt
a
b
x
c
b.txt
cat b.txt
d
e
a
f
キュー:
SOMEMAGICK *.txt
a
尋ねる:すべての* .txtファイルの行のみを表示する方法は?
ベストアンサー1
どうですか?
cat *.txt | sort | uniq -c | egrep "^ +$(ls -1 *.txt | wc -l) "
その後、発生回数を減らすために追加できます。
cat *.txt | sort | uniq -c | egrep "^ +$(ls -1 *.txt | wc -l) " | sed -re 's/^ +[0-9]+ //'
@Stephaneのコメントによると、単一のファイルに1行が複数回表示されると、上記の内容は機能しません。これを防ぐために、最初に各ファイルを並べ替えて一意化します。
for f in *.txt; do sort -u $f > $f.uniqd; done
cat *.uniqd | sort | uniq -c | egrep "^ +$(ls -1 *.uniqd | wc -l) " | sed -re 's/^ +[0-9]+ //'
今はもう行ではありませんが。 :)