Я хотел бы конкатенировать существующие .txt-файлы в каталоге попарно. Сопоставляя все возможные комбинации исходных файлов. Я не уверен, как это сделать, используя bash
или zsh
shell scripting
, не совсем мой сильный костюм. Думаю, нужно было бы выводить новые файлы в другой каталог, предотвращая экспоненциальное увеличение комбинаций.присоединяет файлы попарно.
Ниже приведен фиктивный пример. На самом деле у меня больше файлов.
echo 'A' > A.txt
echo 'B' > B.txt
echo 'C' > C.txt
где A + B
такая же, как B + A
и порядок не имеет значения.
Желаемый результат:
>ls
AB.txt AC.txt BC.txt
>head AB.txt
# A
# B
>head AC.txt
# A
# C
>head BC.txt
# B
# C
Ниже попытка (на что-то ...)
#!/bin/zsh
counter = 1
for i in *.txt; do
cat $i $counter $i
done
Все указатели будут высоко оценены.
У вас уже есть файлы? Или вы хотите, чтобы они были созданы? –
Я их уже создал. –
Ваши примеры не соответствуют вашим вопросам: вы говорите, что хотите объединить свои файлы, но ваш образец вывода выглядит так, будто вы хотите объединить строки входных файлов вместе. Что это такое и откуда берется «#»? Кроме того, кажется, что для ваших целей 'A.txt + B.txt' совпадает с' B.txt + A.txt'. Правильно ли это предположение? Если да, важно ли, чтобы файл был первым? – Adaephon