Как вы можете видеть на изображении, sda6
— это раздел ext4, смонтированный как /
. Это главный узел вашей системы, поэтому он будет занят, пока система работает. Вам нужен либо живой сеанс USB/DVD, либо подключение накопителя под другой работающей системой и выполнение операции оттуда.
Я совершенно уверен, что это можно сделать с помощью awk... в любом случае, мне понравилась задача. Это не самое эффективное решение по времени.
file1='file1'
file2='file2'
file_new='new_file'
file_not_matched='not_matched'
delimiter='\t' #when joining strings in the new file
true > $file_new
true > $file_not_matched
IFS=$'\n'
#walk file1
for line1 in `cat $file1`; do
line1_match=`echo $line1 | awk '{print $2 FS $3}'`
echo -n "$line1" >> new_file
#walk file2
for line2 in `cat $file2`; do
line2_match=`echo $line2 | awk '{print $2 FS $3}'`
#test lines
if [ "$line1_match" == "$line2_match" ];
then
echo -e "$delimiter$line2" >> new_file
continue 2
fi
done
echo "" >> new_file
echo $line1 >> not_matched
done