Команда Sed используется для удаления определенной строки из файла с использованием номера строки, не удаляемого при использовании с переменной

VFS — это уровень интерфейса в ядре. Он предоставляет унифицированный интерфейс для взаимодействия приложений с файловыми системами,независимо от используемой файловой системы :, поэтому системные вызовы, такие как open, write, read, передаются на уровень VFS, который затем отправляет их в соответствующую файловую систему.

Файловые системы регистрируются на уровне VFS и предоставляют стандартный набор информации, чтобы уровень VFS мог их использовать. Это означает, что все файловые системы в Linux должны реализовывать схожие концепции :, в основном индексные дескрипторы, записи каталогов и файлы.

Это подробно описано в ядре .

0
25.03.2020, 10:22
2 ответа

/regular expression/dудалит строки, соответствующие этому регулярному выражению. (Итак, если $LN_NUM— это просто число, например 5 или 18, то каждая строка с этим числом где-то в ней ). Если вы хотите вместо этого удалить данный номер строки:

sed "${LN_NM}d" file.txt

Если вы хотите сохранить файл после удаления из него этой строки, используйте ed, а неsed:

ed -s file.txt <<EOF
${LN_NM}d
w
EOF
1
28.04.2021, 23:19

Как уже упоминалось @plumo, переменные не будут заменяться при использовании'(одинарных кавычек)

Измените команду, используя "двойные -кавычки, что должно помочь.

sed "/${LN_NM}d/" file.txt

0
28.04.2021, 23:19

Теги

Похожие вопросы