繁体   English   中英

sed命令行

[英]sed command line

嗨,我需要在file1.txt上运行'sed'命令,并让它提取介于StringA和StringB之间的所有名称...例如:“ Nickname”:“ bad_name”,提取bad_name,然后也保存所有结果Output.txt 。 这甚至有可能还是我应该查看其他命令?

不显示您的file1.txt的更多示例,我假设您具有一致的数据格式。 如果是这样,请使用awk

echo '"Nickname":"bad_name"' | awk -F":" '{print $NF}'

对于文件,只需输入文件名

awk -F":" '{print $NF}' file > output.txt

否则,请提供更多示例数据供我们使用。

使用sed:

dmedvinsky@home:~$ cat file1 
"Nickname":"bad_name"
"First Name":"Dmitry"
bad line
"Dog Name":"Chuppy"
another bad line

dmedvinsky@home:~$ cat file1 | sed -e '/\(.\+\)":"\(.\+\)"/!d' -e 's/"\(.\+\)":"\(.\+\)"/\2/'
bad_name
Dmitry
Chuppy

第一个表达式删除格式错误的行,第二个表达式将模式替换为第二个匹配的组-第二个引号的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM