在单行命令中使用grep-awk和sed会导致“无此文件或目录”错误

八哥人寿

..我知道为什么:

我有一个xml文档,里面包含很多信息。我需要提取所需的内容,并最终将它们打印在新文件上。

xml(好吧,它的一部分..行不断重复)

<module classname="org.openas2.processor.receiver.AS2DirectoryPollingModule"
    outboxdir="%home%/../../../home/samba/user/Outbound/toMartha/"
    errordir="%home%/../../../home/samba/user/Outbound/toMartha/error"
    sentdir="%home%/../../../home/samba/user/data/Sent/Martha"
    interval="600"
    defaults="sender.name=me_myself, receiver.name=Martha"
    sendfilename="true"
    mimetype="application/standard"/>

<module classname="org.openas2.processor.receiver.AS2DirectoryPollingModule"
    outboxdir="%home%/../../../home/samba/user/Outbound/toJosh/"
    errordir="%home%/../../../home/samba/user/Outbound/toJosh/error"
    sentdir="%home%/../../../home/samba/user/data/Sent/Josh"
    interval="600"
    defaults="sender.name=me_myself, receiver.name=Josh"
    sendfilename="true"
    mimetype="application/standard"/>

<module classname="org.openas2.processor.receiver.AS2DirectoryPollingModule"
    outboxdir="%home%/../../../home/samba/user/Outbound/toPamela/"
    errordir="%home%/../../../home/samba/user/Outbound/toPamela/error"
    interval="600"
    defaults="sender.name=me_myself, receiver.name=Pamela"
    sendfilename="true"
    mimetype="application/standard"/>

我需要在“出站”之后提取文件夹,并用引号或斜杠将其清除。另外,我需要排除“ /错误”,因此每个错误仅得到1个结果。

我的命令是:

grep -o -v "/error" "Outbound/" config.xml | awk -F"Outbound/" '{print $2}' | sed -e "s/\/\"//g" > /tmp/sync_users

错误是:grep: Outbound/: No such file or directory这当然意味着我给grep了太多的参数(?)-如果我删除了-v "/error"它,那会起作用,但也会打印带有/ error的名称。

有人能帮我吗?

编辑:正如在他们的示例中指出的(感谢您投入的时间),我需要根据上面的示例提取这些单词:

toMartha
toJosh
toPamela
滕西拜

要给grep倍数模式,它们必须用换行符分隔或由倍数模式选项(-e,F,..)指定。但是,-v总体上将匹配反转,您不能仅反转一个。

对于您需要执行的操作,可以使用PCRE(-P参数)进行环视功能:

grep -o -P '(?<=Outbound\/)[^\/]+(?!.*\/error)' config.xml

正则表达式演示在这里

正则表达式尝试

  • 至少匹配一次非斜杠 [^\/]+
  • 之前由Outbound/正回顾后发(?<=Outbound\/)
  • 而不是以结尾/error的否定前瞻(?!.*\/error)

在您的第一个示例输入中:

$ grep -o -P '(?<=Outbound\/)[^\/]+(?!.*\/error)' test.txt
toMartha
toJosh
toPamela

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Linux中使用grep和AWK命令获取文件列表

来自分类Dev

在python中使用“ cat”时出现“无此文件或目录”错误

来自分类Dev

在Flask中使用os.chdir时出现错误“无此文件或目录”

来自分类Dev

hadoop version命令给出与Java相关的错误(无此文件或目录)

来自分类Dev

如何在grep命令中使用从文件中读取的行

来自分类Dev

使用“和*”移动文件会导致错误

来自分类Dev

在perl中使用awk和sed命令

来自分类Dev

Dockerfile RUN命令返回“无此文件或目录”

来自分类Dev

从存储库中以编程方式安装pip会导致错误“无此文件或目录”

来自分类Dev

在单行中使用LINQ .Select和.Any

来自分类Dev

使用 for、mv 和 grep 的 BASH 单行字母海量文件排序

来自分类Dev

帆扬升导致错误ENOENT(无此文件或目录)

来自分类Dev

使用sed / awk / grep命令编辑txt文件中的值

来自分类Dev

尝试从远程主机复制(使用scp)到本地计算机时出现“无此文件或目录”错误

来自分类Dev

在外壳程序脚本中使用grep会导致找不到文件错误

来自分类Dev

在bash中使用grep命令从文本文件中提取数据时出错

来自分类Dev

在/ var / run中使用grep命令按文件扩展名搜索

来自分类Dev

如何在 Linux 中使用 awk 或 grep 或 sed 命令将文件的一部分提取到单独的文件中

来自分类Dev

如何在sed和awk中使用find命令从文件中删除重复的IP

来自分类Dev

如何在sed和awk中使用find命令从文件中删除重复的IP

来自分类Dev

如何在Linux终端中使用grep或awk命令在文本文件中添加增量整数行?

来自分类Dev

从目录复制一种类型的所有文件会导致递归使用文件错误

来自分类Dev

在 bash 中使用 grep 和 sed 的问题

来自分类Dev

使用Windows批处理文件的单行多命令

来自分类Dev

尝试安装gcloud命令行工具时“无此文件或目录”

来自分类Dev

终端“桌面:无此文件或目录”中的cd命令不起作用

来自分类Dev

使用单行包含重复项的sed / grep从markdown文件中提取图像URI

来自分类Dev

在Linux的awk命令中使用tr命令

来自分类Dev

在aspx中使用ashx上传文件会导致超时错误

Related 相关文章

  1. 1

    在Linux中使用grep和AWK命令获取文件列表

  2. 2

    在python中使用“ cat”时出现“无此文件或目录”错误

  3. 3

    在Flask中使用os.chdir时出现错误“无此文件或目录”

  4. 4

    hadoop version命令给出与Java相关的错误(无此文件或目录)

  5. 5

    如何在grep命令中使用从文件中读取的行

  6. 6

    使用“和*”移动文件会导致错误

  7. 7

    在perl中使用awk和sed命令

  8. 8

    Dockerfile RUN命令返回“无此文件或目录”

  9. 9

    从存储库中以编程方式安装pip会导致错误“无此文件或目录”

  10. 10

    在单行中使用LINQ .Select和.Any

  11. 11

    使用 for、mv 和 grep 的 BASH 单行字母海量文件排序

  12. 12

    帆扬升导致错误ENOENT(无此文件或目录)

  13. 13

    使用sed / awk / grep命令编辑txt文件中的值

  14. 14

    尝试从远程主机复制(使用scp)到本地计算机时出现“无此文件或目录”错误

  15. 15

    在外壳程序脚本中使用grep会导致找不到文件错误

  16. 16

    在bash中使用grep命令从文本文件中提取数据时出错

  17. 17

    在/ var / run中使用grep命令按文件扩展名搜索

  18. 18

    如何在 Linux 中使用 awk 或 grep 或 sed 命令将文件的一部分提取到单独的文件中

  19. 19

    如何在sed和awk中使用find命令从文件中删除重复的IP

  20. 20

    如何在sed和awk中使用find命令从文件中删除重复的IP

  21. 21

    如何在Linux终端中使用grep或awk命令在文本文件中添加增量整数行?

  22. 22

    从目录复制一种类型的所有文件会导致递归使用文件错误

  23. 23

    在 bash 中使用 grep 和 sed 的问题

  24. 24

    使用Windows批处理文件的单行多命令

  25. 25

    尝试安装gcloud命令行工具时“无此文件或目录”

  26. 26

    终端“桌面:无此文件或目录”中的cd命令不起作用

  27. 27

    使用单行包含重复项的sed / grep从markdown文件中提取图像URI

  28. 28

    在Linux的awk命令中使用tr命令

  29. 29

    在aspx中使用ashx上传文件会导致超时错误

热门标签

归档