Найдите и поместите текст в конец файла - PullRequest
0 голосов
/ 09 мая 2020

Как разместить текст в конце файла unix.

Например, у меня есть файл file.txt

Second
Last
Fourth

У меня есть требование, например, у меня есть для поиска текста (например, последнего в данном случае) и размещения его в конце файла.

После этого файла должно быть

Second
Fourth
Last

Я новичок в unix и кто-то пожалуйста, помогите мне шаги.

Ответы [ 2 ]

0 голосов
/ 09 мая 2020

Представьте, что вам нужно найти слово «Second», заданное переменной «word».

$ cat last.txt 
OSeconder
SecondTime
Fourth
Last
Second
Third

$ word="Second"; sed -i ""   "/^$word$/d"   last.txt; echo $word >> last.txt 

$ cat last.txt 
OSeconder
SecondTime
Fourth
Last
Third
Second

Здесь:

sed:
  -i => in place editing, change the file in place. On Linux you do not have to give "" after this argument but on Mac you do.

  /^$word$/d => delete the line beginning and ending with "$word"

And echo the "word" to the end of the file.

Если вы хотите увидеть, как работает простое регулярное выражение, проверьте эту ссылку: https://regex101.com/r/mDxE8q/1

0 голосов
/ 09 мая 2020

В одну сторону, используя ed:

ed -s file.txt <<EOF
/Last/m$
w
EOF

Команды ed в heredo c означают: возьмите первую строку в файле, содержащую Last, m доделать его до конца, а затем w записать файл обратно в c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...