Я уже спрашивал, для печати текстов внутри двух последовательных "". например, у меня есть следующие строки:несколько полевых разделителей одинарные кавычки '' и двойные кавычки "" в awk
gfdg "jkfgh" "jkfd fdgj fd-" ghjhgj
gfggf "kfdjfdgfhbg" "fhfghg" jhgj
jhfjhg "dfgdf" fgf
fgfdg "dfj jfdg jhfgjd" "hfgdh jfdhgd jkfghfd" hgjghj
И я хочу, чтобы напечатать только следующее:
"jkfgh" "jkfd fdgj fd-"
"kfdjfdgfhbg" "fhfghg"
"dfgdf"
"dfj jfdg jhfgjd" "hfgdh jfdhgd jkfghfd"
я получил ответ с помощью этой команды:
awk -F'"' '{for (i=2;i<5;i+=2) printf "%s%s%s%s", FS, $i, FS, (i>5-2?"\n":" ")}' sample.txt
теперь у меня есть добавить ' '
на мой вопрос. то есть мой текст может быть внутри ' '
, а также " "
. пример ниже:
gfdg "jkfgh" "jkfd fdgj fd-" ghjhgj
gfggf "kfdjfdgfhbg" "fhfghg" jhgj
jhfjhg "dfgdf 'ffdg' gfd" "dgffd 'fdg'"fgf
fgfdg 'dfj "jfdg" jhfgjd' 'hfgdh jfdhgd jkfghfd' hgjghj
я хотел бы получить следующий результат:
"jkfgh" "jkfd fdgj fd-"
"kfdjfdgfhbg" "fhfghg"
"dfgdf 'ffdg' gfd" "dgffd 'fdg'"
'dfj "jfdg" jhfgjd' 'hfgdh jfdhgd jkfghfd'
может кто-то пожалуйста, помогите мне?
Как насчет других инструментов, таких как Perl? –
@karthikmanchala Я использовал команду выше. это работает только для "", и если я изменю разделитель полей на -F "", это будет работать и для '', но я хочу, чтобы как одиночные, так и двойные кавычки работали вместе. то я использовал -F "^ '| \" ", чтобы иметь оба разделителя поля, но не очень хороший результат. –
Вы можете использовать несколько разделителей в awk, например' awk -F' [/ =] '' {print $ 3 " \ t "$ 5" \ t "$ 8} '' –