Я розумію, що sedце команда маніпулювати текстовим файлом.
З мого Googling, мабуть, -iозначає, що виконайте операцію над самим файлом, чи правильно це?
Про що '1d'?
Я розумію, що sedце команда маніпулювати текстовим файлом.
З мого Googling, мабуть, -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Перед створенням створює резервну копію оригіналу (as ). За винятком 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 - редактор потоку. Редактор потоків використовується для здійснення основних перетворень тексту у вхідному потоці (файлі або вході з конвеєра). '
як ваше запитання,
sed -i '1d' file_name
означає: видаліть перший рядок у файлі "file_name"на місці та резервну копію у файл. (так само, як редагувати файл та видаляти перший рядок безпосередньо.)
-iщоб побачити, що відбувається спочатку, а потім скористатися,-iщоб фактично змінити файл.