Как объединить только идентичные имена файлов в двух папках в один файл?

Я бы вызвал предыдущую командную строку через в режиме командной строки, а затем делал бы поточное редактирование, переключаясь в окно командной строки (с полными командами Vim) через при необходимости. Или просто выполните q:k, что эквивалентно.

Обратите внимание, что вы не можете напрямую изменить @:, потому что это регистр только для чтения.

-1
05.09.2018, 05:24
2 ответа

Боюсь, это не так просто. «Расширения» файлов указывают, что это gzipданные ped, которые должны быть gunzipped перед их конкатенацией. Воруя из ответа Кристиана Гиббонса, попробуйте

for FILE in dir1/* ; do
    FILE2=dir2/${FILE#*/}
    if [ -f $FILE2 ] ; then
        gunzip -c $FILE $FILE2 | gzip > dir3/${FILE#*/}
    fi
done
0
28.01.2020, 05:12

Попробуйте сделать так:

for FILE in dir1/* ; do
    FILE2=dir2/${FILE#*/}
    if [ -f $FILE2 ] ; then
        cat $FILE $FILE2 > dir3/${FILE#*/}
    fi
done

Где dir1— один из исходных каталогов, dir2— другой исходный каталог, а dir3— выходной каталог.

0
28.01.2020, 05:12

Теги

Похожие вопросы