在xargs
之后,我有几个命令跟在一起。有趣的是,如果只是将它回显到stdout
,命令就可以正常工作。当我尝试将它分配给一个变量时,该变量保持为空。请看下图:分配给变量的Bash命令保持为空
$~ ./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命令后面使用的 - 我认为这对我不适用) – dmeu