Как можно добавить название файла к его содержимому путем записи имени файла на первой строке?

Как одновременно изменить несколько файлов в директории на операционной системе *nix?
  • 6 июля 2024 г. 5:12
Ответы на вопрос 2
1. Для добавления названия файла к его содержимому вы можете использовать следующую команду в командной строке (*nix):

```bash
echo "file_name" > new_file && cat original_file >> new_file
```

Где:
- `file_name` - название файла
- `new_file` - новый файл, в который будет добавлено название и содержимое оригинального файла
- `original_file` - оригинальный файл, содержимое которого будет добавлено к новому файлу

2. Чтобы одновременно изменить несколько файлов в директории на операционной системе *nix, вы можете использовать цикл `for` в командной строке. Например, для добавления текста в начало каждого файла в директории, вы можете использовать следующую команду:

```bash
for file in /path/to/directory/*.txt; do
    echo "Text to add" | cat - "$file" > temp && mv temp "$file"
done
```

Где:
- `/path/to/directory/` - путь к директории, в которой находятся файлы, которые вы хотите изменить
- `*.txt` - шаблон для выбора всех файлов с расширением `.txt`
- `Text to add` - текст, который вы хотите добавить к каждому файлу

Этот цикл пройдется по всем файлам `.txt` в указанной директории и добавит указанный текст в начало каждого файла.
вариант с помощью awk: 
awk 'BEGIN{getline;print FILENAME"\n"$0}{print}' ФАЙЛ

или так
awk '{if(NR==1)print FILENAME"\n"$0;print}' ФАЙЛ
Похожие вопросы