【问题标题】:Filter out the strings in series of files过滤掉一系列文件中的字符串
【发布时间】:2015-09-23 06:56:45
【问题描述】:

我有一组文件,其路径名位于文本文件名“files.txt”中,如下所示

files.txt 包含以下文件:

/usr/local/test1.txt
/usr/local/test2.txt
/usr/local/bin/grr.txt
/usr/local/oracle/test4.txt

现在我必须将所有这些文件的字符串名称“PackageName”和“ProcedureName”的值 grep(过滤)到 output.txt 文件中

例如:以上所有文件都有以下内容,现在我想要输出文件中格式为“XXbin/process”的 PackageName 和 ProcedureName 的值。

 <property name="PackageName" value="XXbin"/>
  <property name="ProcedureName" value="process"/>

试过了:

find ${direct} -name "*.jca" -exec awk "/ && /PackageName/ && /ProcedureName/' {} \; >> out.txt

【问题讨论】:

    标签: shell awk sed grep


    【解决方案1】:

    您在 awk 命令的开头有一个奇怪的/ &amp;&amp;,并且在 awk 脚本的开头有双引号,但在脚本的结尾有单引号,并且您在需要 @ 时使用 &amp;&amp; 987654324@.

    无论如何,保持简单:

    find "$direct" -name "*.jca" -print |
    xargs awk '/(Package|Procedure)Name/'
    

    【讨论】:

    • 嗨 Ed,我必须从 files.txt 中读取每个文件,并且只打印 Package 和 Procdeure 名称的值而不是整个字符串。
    • 这不是你在stackoverflow.com/q/32726286/1745001问的问题吗?
    猜你喜欢
    • 2022-11-17
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多