我想在示例字符串中提取您:

See [ "you" later 

然而,我的结果是错误的:

 awk '{ sub(/.*\"/, ""); sub(/\".*/, ""); print }' <<< "See [ \"you\" later"

结果:

 later

在awk或其他方法中,如何提取双引号中的子字符串?

推荐答案

104你可以在这里使用awkgsub函数.只需用NULL进行2个替换.第1次到第1次出现",然后用NULL替换下一次出现"的所有内容,并打印该行.

awk '{gsub(/^[^"]*"|".*/,"")} 1' Input_file


106使用GNU grep溶液.使用其-oP选项分别打印匹配部件和启用PCRE regex选项.使用正则表达式从开始匹配到第一次出现",使用\K选项忘记匹配部分,然后在下一次出现"之前再次匹配所有内容,这将根据要求打印2到"之间的文本.

grep -oP '^.*?"\K[^"]*' Input_file

Linux相关问答推荐

在Zenity进度窗口上单击取消后如何停止bash脚本

AWK+向AWK导出值未传递

为什么库中不调用全局变量的构造函数?

2023 年如何在现代 Linux 上安装 Firebird SQL 版本 3 或 4?

使用文件名重新打开 linux 管道(仅从一侧)

awk 使用动态列号

输出特定字符的所有列号

Google Cloud Ops Agent Mongo 集成错误 - AuthenticationFailed:SCRAM 身份验证失败,storedKey 不匹配

在 bash 中解析变量

如何使用 shell 脚本查找具有最大上下文长度的行号?

`G++ 4.9.4` 中关于 WEXITSTATUS 的奇怪行为

如何使用 sed debug调试正则表达式?

如何/在哪里可以找到要修复的 Linux 内核错误?

如何在 linux 'screen' 中搜索任何单词

如何克隆 OpenLDAP 数据库

使用特定目录作为根目录压缩目录的命令

如何从任意 pthread_t 获取线程 ID?

如何使用 C++ 在 Linux 中获取总 CPU 使用率

通过 linux x86-64 函数调用保留了哪些寄存器

Ionic android 构建错误 - 找不到ANDROID_HOME环境变量