Use pegar y establezca el delimitador en coma en lugar de tabulador con -d:
paste -d, file1 file2
Если вы хотите разобрать сообщение целиком, используйте «адреса» вот так:
sed -n '/https:/h;/Path:/{H;g;s/\n/ /p;}' yourfile
Не выводить по умолчанию(-n
). Поместите строку, начинающуюся с https:
, в буфер хранения, затем для строки Path:
добавьте ее в буфер хранения, переместите ее в пространство шаблонов и замените новую строку пробелом.
Или другой подход:
sed -e '/^https:/!d;:a' -e '$!N;/Path:/!ba' -e 's/\n\n*/ /' yourfile
Это означает :Если строка не начинается с https:
, удалите ее(/^https:/!d
). В противном случае запустите цикл (:a
), чтобы добавить новые строки, если они есть ($!N
), пока мы не добавим строку Path:
. /Path:/!ba
. Наконец, замените новые строки пробелом, чтобы поместить все в одну строку(s/\n\n*/ /
).
Если вы хотите разбить на пустые строки,
awk '{printf $0; printf ($0=="")? "\n" : " "}' /path/to/file.txt
printf $0
:распечатать текущую строку (без новой строки)printf ($0=="")? "\n" : " "
:Если текущая строка пуста ($0=="")?
, то вывести новую строку "\n"
, иначе вывести пробел " "
. Однако, если вы просто хотите разбить каждую третью строку,
awk '{printf $0; printf (NR%3=="0")? "\n" : " "}' /path/to/file.txt
(NR%3=="0")
:здесь условные тесты, если номер строки NR
по модулю 3
равен нулю. то есть он будет печатать новую строку каждые три строки ввода, иначе просто напечатать пробел. Метод -1 :Мы вызываем Perl в режиме абзаца -00
и делаем ORS=\n -l
и разрешаем чтение файла -в режиме с явной печатью -n
. Выбирается текущая запись $_
, которая начинается с https :// и ее конец -позиции записи -заполняется следующей записью <>
.Наконец, новые строки в этой добавленной текущей записи удаляются, а то, что осталось, выводится на стандартный вывод. ORS будет добавлен к текущей записи.
perl -ln -00e 's/$/$".<>/e and print tr/\n//dr if m|^https://|' file.txt
В этом методе мы устанавливаем цикл, когда встречаем строку https :// и продолжаем добавлять пустые строки, которые находим по пути к первой не -пустой. Все это время мы продолжаем удалять эти пустые строки.
sed -ne '
\|^https://|!d
:loop
N
s/\n$//
tloop
s/\n/ /p
' file.txt
https:// arkit.co.in/ Path Read (03/07/2017) Path: /website/upload/file.txt
https:// arkit.co.in/ Path Read (04/07/2017) Path: /website/upload/file1.txt