linux – Shell脚本从所有文件中提取2个值?

linux – Shell脚本从所有文件中提取2个值?,第1张

概述我有一个充满这样的文件的目录: [Location]state=Californiacity=Palo Alto[Outlet]id=23manager=John Doe 我想写一个小脚本,为每个文件输出一行,如下所示: John Doe,Palo Alto 我怎么做?我怀疑有些grep和循环.到目前为止,我有: #!/bin/bashecho Manager,City > resu 我有一个充满这样的文件的目录:

[Location]state=Californiacity=Palo Alto[Outlet]ID=23manager=John Doe

我想写一个小脚本,为每个文件输出一行,如下所示:

John Doe,Palo Alto

我怎么做?我怀疑有些grep和循环.到目前为止,我有:

#!/bin/bashecho Manager,City > result.txtfor f in *.configdo  cat "$f" | grep manager= >> result.txt  cat "$f" | grep city= >> result.txtdone

但这当然是不完整的,因为grep在自己的行上返回整行,我只想在第一个=符号后面的部分.

解决方法
echo Manager,City > result.txtfor f in *.config; do    manager=$(awk -F= '=="manager" {print }' "$f")    city=$(   awk -F= '=="city"    {print }' "$f")    echo "$manager,$city"done >> result.txt

awk -F =使用等号作为字段分隔符,然后检查所需的变量($1)并打印它们的值($2). $(cmd)捕获命令的输出并产生可分配给两个变量$manager和$city的字符串.

总结

以上是内存溢出为你收集整理的linux – Shell脚本从所有文件中提取2个值?全部内容,希望文章能够帮你解决linux – Shell脚本从所有文件中提取2个值?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1018862.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存