我想在示例字符串中提取您:
See [ "you" later
然而,我的结果是错误的:
awk '{ sub(/.*\"/, ""); sub(/\".*/, ""); print }' <<< "See [ \"you\" later"
结果:
later
在awk或其他方法中,如何提取双引号中的子字符串?
我想在示例字符串中提取您:
See [ "you" later
然而,我的结果是错误的:
awk '{ sub(/.*\"/, ""); sub(/\".*/, ""); print }' <<< "See [ \"you\" later"
结果:
later
在awk或其他方法中,如何提取双引号中的子字符串?
104你可以在这里使用awk
的gsub
函数.只需用NULL进行2个替换.第1次到第1次出现"
,然后用NULL替换下一次出现"
的所有内容,并打印该行.
awk '{gsub(/^[^"]*"|".*/,"")} 1' Input_file
106使用GNU grep
溶液.使用其-oP
选项分别打印匹配部件和启用PCRE regex选项.使用正则表达式从开始匹配到第一次出现"
,使用\K
选项忘记匹配部分,然后在下一次出现"
之前再次匹配所有内容,这将根据要求打印2到"
之间的文本.
grep -oP '^.*?"\K[^"]*' Input_file