0

私は2つのファイルを持っています:fileaそしてfileb、私はソートしたくない(だから私は使用できませんcomm)。

filea    fileb
cat      cat
dog      elephant
cat      snake
rabbit   pony

の内容が の内容fileaと同じ場合は の内容をfileb表示しfileb、ファイルの内容が異なり、file2 にエレファントが含まれている場合は を表示eleし、スネークの場合は を表示snaし、ポニーの場合は を表示しますpon

私は使用してみましたcmp

if cmp -s filea fileb
then echo $"fileb"
fi

しかし、何も表示されませんでした。出力を 3 番目のファイルの列に入れたい。

4

3 に答える 3

2

filebと同じなら印刷したいようですfilea。それらが異なる場合は、 に存在しない行の最初の 3 文字を出力しfileaます。以下はあなたのために働くはずです:

$ cmp -s filea fileb && cat fileb || { grep -v -f filea fileb | cut -c-3; }
ele
sna
pon

(上記の言い換えられた質問は、実際、上記の表現の説明です。)

于 2013-07-30T08:19:12.423 に答える