【发布时间】:2016-11-10 20:47:19
【问题描述】:
在xargs 之后,我很少有命令相互跟随。有趣的是,如果只是将其回显到stdout,该命令就可以正常工作。当我尝试将其分配给变量时,该变量保持为空。见下文:
$~ ./somescript | grep -f fc.samples | xargs -I {} sh -c "echo {} | tr '/' '\t' | cut -f9;"
sample1
sample2
sample3
sample4
sample5
sample6
sample7
sample8
$~
尝试将其分配给一个变量,然后回显它会导致空行:
$~ ./somescript | grep -f fc.samples | xargs -I {} sh -c "sample=$(echo {} | tr '/' '\t' | cut -f9); echo $sample; "
$~
我已经尝试了它的多种变体,但无法弄清楚我做错了什么。有人能发现问题吗?
谢谢!
【问题讨论】:
-
你试过这个吗?
sample=$(./somescript | grep -f fc.samples | xargs -I {} sh -c "echo {} | tr '/' '\t' | cut -f9;") -
不,我没有 - 分配给
sample的想法是供以后在 xargs 命令中使用 - 我认为这对我来说行不通;)
标签: linux bash shell variables xargs