私は一時的にfolowingを達成するのに苦労しています。ファイル。一時ファイルを使用せずにbashで2つのtarファイルを比較するには?
#!/bin/bash
tar ztf "$1" | sort > tmp1
tar ztf "$2" | sort > tmp2
comm -1 -3 tmp{1,2}|while read line; do echo -e "$1: $line\n"; done
comm -2 -3 tmp{1,2}|while read line; do echo -e "$2: $line\n"; done
rm tmp{1,2}
tmpファイルなしでこれを行うにはどうすればよいですか?
(また、単にさておきとして、1が一時ファイルを作成するために
mktemp
を使用する必要があります)、および'むしろ不器用に置き換えるとwhile'ループsedスクリプト。 'comm -3 one two | sed -e "s/^ \ t \/$ 1:/; t; s/\\ t $ //; s/^ $ 2:/" | (あなたの 'sed'が' \ t'をタブとして解釈しない場合は、リテラルタブを使用します)。 – tripleee