Изменение имени файла и добавление в него строки
У меня есть ряд файлов, как показано ниже:
000_0123
000_0234
000_0345
000_0456
000_0678
000_0890
000_01123
000_01234
Я хочу изменить имена на:
000_123
000_234
000_345
000_456
000_678
000_890
000_1123
000_1234
и я хочу добавить первую строку в каждом файле как "#include<conio.h>
". Может кто-нибудь мне помочь?
1 ответ
Решение
Чтобы добавить свою строку в начало каждого файла, который вы можете сделать
for i in 000*; do sed '1i#include<conio.h>' "$i"; done
1i
означает вставить это в первой строке (до существующей первой строки). Существующая первая строка становится строкой 2. Предупреждение: эта команда не будет выполнена (ничего не делать) для пустых файлов.
Содержимое всех файлов с добавленной строкой будет отображаться в терминале один за другим. Если это выглядит правильно, то сделайте еще раз с -i
изменить файлы на месте
for i in 000*; do sed -i '1i#include<conio.h>' "$i"; done
Если вы просто хотите удалить ведущий 0
после _
вы могли бы использовать rename
переименовать файлы...
rename 's/0_0/0_/' 000*