Создайте файлы, если они еще не существуют

У меня много перечисленных текстовых файлов. Я хочу добавить отсутствующие текстовые файлы и заполнить их 0; например,:

   -directory
     -1.txt
     -2.txt
     -6.txt

Я хочу добавить 3.txt, 4.txt и 5.txt в каталог. Каждый текстовый файл содержит один символ 0. Вот пример:

   -directory
     -1.txt
     -2.txt
     -3.txt
     -4.txt
     -5.txt
     -6.txt

Это можно сделать с помощью простой команды?

Спасибо.

2
задан 1 August 2019 в 20:52

1 ответ

Изменитесь 6 с любым числом, которое Вы хотите.

touch {1..6}.txt

touchs существующие файлы и создают пустой для недостающих.

find . -name '*.txt' -size 0 -exec tee <<<"0" {} +

Добавляет число 0 во все пустые файлы. помните, что, если Ваши уже существующие файлы пусты, это добавит нуль ко всем ним также.


Не эффективный путь:

for i in {1..100}.txt; do if [ ! -f "$i" ]; then echo 0 > "$i"; fi; done;

Ищет .txt файлы между 1 кому: 100 один за другим и создает их, если они не там. Созданные файлы имеют один текстовый символ, "0"; существующие файлы не изменяются.

6
ответ дан 2 December 2019 в 01:41

Другие вопросы по тегам:

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