【问题标题】:how to take standard input as the value of a command's option?如何将标准输入作为命令选项的值?
【发布时间】:2015-01-06 16:56:15
【问题描述】:

例如,我想将名为“comment”的文件的内容作为 setattr 的 -v 选项的值,类似于

cat comment | setfattr -n user.comment -v -  filewanttotaged

但这不起作用,也不行

cat comment | xargs setfattr -n user.comment -v - filewantedtotaged

对于后一种情况,内容被视为 setfattr 的文件参数,而不是选项 -v 的值

那么如何完成这项工作呢?非常感谢!

【问题讨论】:

标签: linux attr xargs


【解决方案1】:

你可以使用 xargs,但要确保它的参数不在最后,而是在你的“-v”选项之后:

cat comment | xargs -i setfattr -n user.comment -v {} filewantedtotaged

【讨论】:

  • 谢谢!所以这里的关键是在xargs中加上-i。
  • 另外一个问题是,如果注释文件中有“\n”,那么只有第一行才能进入选项-v的值。因此,必须有某种方法可以告诉 xargs 逃脱该行的结尾,我会检查一下。你知道怎么做吗?
  • 是的,将 -0 添加到 xargs 就可以了
  • 不客气...如果这回答了您的问题,请接受答案以标记问题已解决。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-14
  • 2011-01-24
  • 2014-02-02
  • 1970-01-01
  • 1970-01-01
  • 2021-06-24
  • 2011-12-04
相关资源
最近更新 更多