Добавить новый символ строки в текстовый файл с помощью sed [duplicate]

Если вы переключите BIOS обратно в безопасный режим с помощью UEFI, он должен загрузиться в Windows.

К сожалению, GPT и MBR несовместимы, и, если я не пропустил выпуск нового инструмента, который позволяет удобно переключаться между ними, это, к сожалению, то, что вам придется сделать для загрузки в другую ОС. .

2
14.04.2017, 08:24
3 ответа

Это должно быть:

sed -i 'a pts/0\npts/1\npts/2\npts/3\npts/4\npts/5\npts/6\npts/7\npts/8\npts/9' /etc/securetty

Кроме того, вы можете поместить содержимое в файл и использовать параметр read (r) для sed для добавления в целевой файл.

Пример:

$ cat input.txt
pts/0
pts/1
pts/2
pts/3
pts/4
pts/5
pts/6
pts/7
pts/8
pts/9

$ cat /etc/securetty
This is a dummy file

Команда:

sed -i 'r input.txt' /etc/securetty

Файл / etc / securetty изменен следующим образом:

$ cat /etc/securetty
This is a dummy file
pts/0
pts/1
pts/2
pts/3
pts/4
pts/5
pts/6
pts/7
pts/8
pts/9
2
27.01.2020, 21:49

Простая оболочка подход:

for i in {0..9}; do echo "pts/"$i; done >> /etc/securetty

>> - для добавления вывода в файл

> - для прямого вывода в файл (перезапись)

6
27.01.2020, 21:49

Кстати, если вы хотите добавить в конец существующего файла что-то вроде этого, вам не нужно ни sed, ни цикл оболочки. Это всего лишь одна команда:

$ printf '%s\n' "pts/"{0..10} >> /etc/securetty

Если вы хотите вставить в начало файла, вы все равно можете сделать это с помощью printf:

$ cat file1
europe|EU
australia|AU
china|CN
$ printf '%s\n%s\n' "pts/"{0..10} "$(<file1)"
pts/0
pts/1
pts/2
pts/3
pts/4
pts/5
pts/6
pts/7
pts/8
pts/9
pts/10
europe|EU
australia|AU
china|CN

Вы можете заменить содержимое вашего файла /etc /securetty вот так (даже sed -i выполняет точно такую ​​же работу за кулисами):

$ printf '%s\n%s\n' "pts/"{0..10} "$(</etc/securetty)" > tmpsecure && mv -f tmpsecure /etc/securetty

Альтернатива:

$ { printf '%s\n' "pts/"{0..10}; cat /etc/securetty; } > tmpsecure && mv -f tmpsecure /etc/securetty
# Or
# cat <(printf '%s\n' "pts/"{0..10}) /etc/securetty > tmpsecure && mv tmpsecure /etc/securetty
4
27.01.2020, 21:49

Теги

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