Intereting Posts
Как править или сдвигать блок текста по определенному числу столбцов? практика linux для практического использования Регулярное выражение Как я могу выполнить «псевдоним» с nginx? Ограничитель выходного звука для предотвращения всплесков громкости на рабочем столе Linux? Быть не sudo на debian, как сделать .sh выполнять каждый раз, когда я вхожу в систему? приглашение sudo не позволяет мне отправить мой пароль sudo Трудный рекурсивный псевдоним bash? установить при первом использовании Может ли systemd и upstart совместно сосуществовать в системе Unix? (virt-manager: 4796): клиент не смог подключиться к демону D-BUS / Не удалось подключиться к libvirt Получение сообщения «Ошибка при попытке открыть / dev / dvd исключительно» в конце процесса записи DVD при использовании growisofs Был ли скомпрометирован мой Unix-сервер? pcregrep не работает из-за ошибки сегментации Как iotop вычисляет относительную активность ввода-вывода? Ошибочные результаты с обнаружением хоста с использованием nmap

Слияние файлов – одно и то же имя, другое расширение

Как бы вы объединили различные входные файлы .txt и .tsv (внутри каталога), которые имеют одно и то же имя, но другое расширение в выходной файл?


Вход: file1.txt , file2.txt , file1.tsv , file2.tsv

Выход: file1.merged , file2.merged

С zsh :

 ext='(txt|tsv|text|log)' for f (**/*.$~ext(.)) cat < $f >> $f:t:r.merged 

Порядок слияния будет алфавитным в одном каталоге. То есть a/file.txt будет включен перед b/file.txt и a/file.log перед a/file.txt .

Также обратите внимание, что скрытые файлы (те, чье имя начинается с . ) Не будут рассматриваться (добавьте D glob-квалификатор, если вы хотите их).

cat file1.* > file1.merged

cat file2.* > file2.merged