Это очень ново для меня, но я медленно подбираю его.Perl - использование sed или tail для удаления первой строки файла inline и возврата 1-й строки в var
Мне нужно открыть файл, вернуть первую строку в var, чтобы сделать материал, а затем удалить первую строку из файла после успешного завершения работы.
В сценарии mt, вот что печатает все, кроме первой строки экрана.
$file = 'test.txt';
system "tail -n+2 /home/username/public_html/adir/$file";
Теперь я сделал некоторые ковыряться здесь и нашел:
system "sed -i '1d' home/username/public_html/adir/$file";
который должен удалить первую строку файла инлайн. (Я не пытался)
Это было бы прекрасно, если бы я мог также вернуть первую строку переменной $, чтобы делать что-то.
Если материал не удается, я мог бы добавить строку обратно в файл.
Я знаю, что могу сделать это с кучей ФАЙЛА < и> с массивами, но, кажется, немного.
Файл небольшой, менее 100 строк по 6 символов.
Неужели я совершенно не знаю, как преследовать sed или хвост для этого?
Как вернуть удаленную строку в виде строки $, используя эти системные вызовы?
Спасибо за опыт обучения.
Вы хотите использовать perl или хотите сценарий оболочки с помощью sed и tail? пожалуйста, не используйте perl только для вызова системы. – dwalter
Я действительно не знаю. Я попробовал, он вернул результат. Сценарий - это серверный Perl-скрипт, который обновляет информацию о пользователях в таблице mysql от другого. Он будет запущен cron. $ File - это список идентификаторов пользователя, которые необходимо обновить. Идентификатор - это ключ, который запускает синхронизацию базы данных для этого пользователя/строки. –