【问题标题】:What does 'c' mean in Bash commands like args and grep?'c' 在 args 和 grep 等 Bash 命令中是什么意思?
【发布时间】:2017-12-04 19:13:37
【问题描述】:
echo "^[$*]*[$5][$*]*$" |xargs -I c grep -i c words| grep -i ".....*"| grep -
iv "...........*"| sort -f >list

谁能告诉我 xarg 和 grep 之后的 c 是什么意思?

重要提示:words 是包含单词的文档

【问题讨论】:

  • 你读过manpage吗?
  • 在这种情况下,它包含字符串^[$*]*[$5][$*]*$。阅读手册页并搜索 -I,即 replace-str 选项。
  • 这与手册无关。如果'c'没有任何意义绑定到命令,我怎么可能研究/知道它的含义?我在问 c 自己做了什么。我可以用谷歌搜索“|”的含义管道,但世界上没有办法'c'

标签: bash grep xargs


【解决方案1】:

manual pagexargs

-I 替换-str

将初始参数中出现的 replace-str 替换为从标准输入中读取的名称。此外,未加引号的空格不会终止输入项;相反,分隔符是换行符。隐含-x-L1

所以xargs -I c grep -i c words 将用从标准输入读取的内容替换c-I 的参数),在本例中为^[]*[][@9876 @。 (shell 会将引用字符串中的$*$5 分别替换为位置参数和第5 个位置参数。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    • 2012-10-14
    • 2010-09-22
    • 2014-02-24
    相关资源
    最近更新 更多