Я понимаю, что sedэто команда для работы с текстовым файлом.
Из моего Google, кажется, -iозначает выполнить операцию над самим файлом, это правильно?
Как насчет '1d'?
Я понимаю, что sedэто команда для работы с текстовым файлом.
Из моего Google, кажется, -iозначает выполнить операцию над самим файлом, это правильно?
Как насчет '1d'?
Ответы:
В sed:
-i опция будет редактировать входной файл на месте
'1d' удалит первую строку входного файла
Пример:
% cat file.txt
foo
bar
% sed -i '1d' file.txt
% cat file.txt
bar
Обратите внимание, что в большинстве случаев рекомендуется использовать резервную копию при использовании этой -iопции, чтобы у вас была резервная копия исходного файла на случай непредвиденных изменений.
Например, если вы делаете:
sed -i.orig '1d' file.txt
исходный файл будет сохранен как file.txt.origи измененный файл будет file.txt.
sed '1d' file.txt
Печатает содержимое file.txt; исключая первую строку; на стандартный вывод.
sed -i '1d' file.txt # GNU, NetBSD, OpenBSD
sed -i '' '1d' file.txt # FreeBSD, macOS
Печатает содержимое file.txt; исключая первую строку; обратно в file.txt; переписываю оригинал.
sed -i.back '1d' file.txt
Создает резервную копию оригинала (как file.txt.back) перед внесением изменений. За исключением FreeBSD sed, суффикс (здесь .back) должен быть присоединен к -iопции (в том же аргументе, без пробела между -iи .back).
sed '2d' file.txt
Печатает содержимое file.txt; исключая вторую строку; на стандартный вывод.
(Указание любого числа приведет к удалению соответствующей строки).
Также совместим с -iфлагом.
sed '1!d' file.txt
Печатает содержимое file.txt; исключая все кроме первой строки; на стандартный вывод.
(Другими словами, печатается только первая строка).
Также совместим с -iфлагом.
sed '$d' file.txt
Печатает содержимое file.txt; исключая последнюю строку; на стандартный вывод.
Также совместим с -iфлагом.
В sed -hиметь:
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if SUFFIX supplied)
и «выполнить операцию над самим файлом». Абсолют это
И manсказал: «Сед - потоковый редактор. Редактор потока используется для выполнения базовых преобразований текста в потоке ввода (файл или ввод из конвейера). '
как твой вопрос,
sed -i '1d' file_name
означает: удалить первую строку в файле "file_name"на месте и резервное копирование в файл. (так же, как редактировать файл и удалять первую строку напрямую.)
-iчтобы сначала увидеть, что происходит, а затем использовать-iдля фактического изменения файла.