繁体   English   中英

使用sed,grep在特殊字符之间打印

[英]Print between special characters with sed,grep

我需要在这些字符之间打印字符串。

atob('       ')

我在第二部分中使用=尝试将代码停止在等号(我尝试获取的base64字符串以此类号结尾)中。

我使用此脚本,但是它将打印包含上述字符的整行。 我只需要它们之间的数据。

  sed -n '/atob/,${p;/==/q;}'

感谢您的帮助。 谢谢。

这是否有效(已针对GNU sed 4.2.2测试)?

 sed -n -e "s/atop('\(.*\)')/\1/p" b.txt

b.txt在哪里

atop('safdasdfasf')

或者你可以尝试awk

awk -F\' '/atop/ {print $2}' b.txt 

(测试了gnu awk 4.0.2,并添加了Jotne的建议)

和另一个工作sed:

echo "atop('safdasdfasf')" | sed -r "/atop/ s/^[^']+'([^']+)'.*/\1/"
safdasdfasf

暂无
暂无

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

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