Как удалить последнюю строку из файлов рекурсивно

find . -name "*.php" -type f -exec sed -i "\$d" '{}' \;


Эта команда «find . -name «*.php» -type f -exec sed -i «\$d» ‘{}’ \;» используется для удаления последней строки из файлов с расширением .php.

Аргументы команды:
— «find .»: ищет файлы в текущем каталоге и его подкаталогах.
— «-name «*.php»»: ищет файлы только с расширением .php.
— «-type f»: ограничивает поиск только файлами.
— «-exec sed -i «\$d» ‘{}’ \;»: выполняет команду «sed -i «\$d» ‘{}’ \;» для каждого найденного файла. Команда «sed -i «\$d» ‘{}’ » удаляет последнюю строку из файла.

Эта команда полезна, когда необходимо удалить последнюю строку из нескольких файлов с расширением .php.

Альтернативным подходом может быть использование команды «tail -n +1» для вывода всех строк кроме последней, а затем перезапись файлов. Например, «find . -name «*.php» -type f -exec sh -c «tail -n +1 {} > {}.tmp && mv {}.tmp {}» \;».

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *