Использование awk для разделения строки с \ n, за которыми следуют 'и, - PullRequest
0 голосов
/ 14 апреля 2020

Если дана строка '1234␤',56789,, как я могу использовать awk для разделения на последовательность ␤',? Здесь представляет буквальный символ новой строки.

Прямо сейчас у меня есть,

echo $LINE | awk -F'\\\\n',' '{ print $1}'

Разделение не происходит с этим. Любой совет?

Ответы [ 2 ]

0 голосов
/ 14 апреля 2020

На основании вашего поясняющего комментария ниже; для печати 1234 \ n 'используйте

line="1234\n',56789,"; echo "$line" | awk -F"," '{print $1}'

и для печати 56789 используйте

line="1234\n',56789,"; echo "$line" | awk -F"," '{print $2}'

Чтобы разбить строку с пробелом в середине вместо запятой, используйте:

line="1234\n',56789,"; echo "$line" | awk -F"," '{print $1 " " $2}'
0 голосов
/ 14 апреля 2020

Попробуйте напечатать все поля, используя значение -F

echo "1234\n',56789," | awk -F "[',]+" -v ORS="" '{$1=$1}1'
line="1234\n',56789,"; echo "$line" | awk -F "[',]+" -v ORS="" '{$1=$1; print $0}'

Вывод

1234\n 56789

Для печати указанного c поля

echo "1234\n',56789," | awk -F "[',]+" -v ORS="" '{$1=$1; print $1}'
line="1234\n',56789,"; echo "$line" | awk -F "[',]+" -v ORS="" '{$1=$1; print $1}'

Выход

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