как получить последний символ строки в новой строке в UNIX - PullRequest
0 голосов
/ 24 января 2020

Необходимо удалить последнюю точку с запятой из всех строк, присутствующих в файле, и поместить ее в следующую строку, если это последний символ, в противном случае игнорируйте его

пример:

input
This,is,a,test;
This,is,a,test;
This;is,a,test
This,is,a;test
This,is,a,test;

Output
This,is,a,test
;
This,is,a,test
;
This;is,a,test
This,is,a;test
This,is,a,test
;

1 Ответ

1 голос
/ 26 января 2020
$ cat x.txt 
This,is,a,test;
This,is,a,test;
This;is,a,test
This,is,a;test
This,is,a,test;
$ sed 's/;$/\n;/' x.txt 
This,is,a,test
;
This,is,a,test
;
This;is,a,test
This,is,a;test
This,is,a,test
;

sed 's/r/x/' заменяет регулярное выражение r на строку x.

;$ - это регулярное выражение, которое соответствует ; в конце строки.

\n; - это просто новая строка, за которой следует ;.

Так что в основном это префикс последней ; каждой строки с новой строкой.

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