lsf awk命令引号

lsf awk命令引号,awk,lsf,Awk,Lsf,当我在bash终端中运行此命令时,它会工作: awk '{ sum += $1 } END { print sum }' /user/dnaiel/test.txt > /user/dnaiel/sum.txt 但当我运行这个: bsub -q priority -R'rusage[mem=2000]' -oo bin${count}.out -eo bin${count}.err \ "awk '{ sum += $1 } END { print sum }' /user/dnaiel

当我在bash终端中运行此命令时,它会工作:

awk '{ sum += $1 } END { print sum }' /user/dnaiel/test.txt > /user/dnaiel/sum.txt
但当我运行这个:

bsub -q priority -R'rusage[mem=2000]' -oo bin${count}.out -eo bin${count}.err \
"awk '{ sum += $1 } END { print sum }' /user/dnaiel/test.txt > /user/dnaiel/sum.txt"
它不起作用。我也尝试过将“改为”,但也不起作用

我得到以下错误: 对于第一种情况:

awk: { sum +=  } END { print sum }
awk:           ^ syntax error
就我以前的案子而言

awk: '{
awk: ^ invalid char ''' in expression
你知道我把语法弄乱了吗?我很困惑


谢谢

注意到
$1
在错误消息中是如何消失的吗

awk: { sum +=  } END { print sum }
awk:           ^ syntax error
这是因为在shell中,当您首先使用dbl引号引用某个内容时,正如您使用

bsub -q priority -R'rusage[mem=2000]' -oo bin${count}.out -eo bin${count}.err \
"awk '{ sum += $1 } END { print sum }' /user/dnaiel/test.txt > /user/dnaiel/sum.txt"
任何${var}引用都将扩展到其值。单引号在dbl引号字符串中时,失去了阻止变量扩展的魔力

如何修复、转义您的
$
s。不确定bsub是什么,但应该这样做:

bsub -q priority -R'rusage[mem=2000]' -oo bin${count}.out -eo bin${count}.err \
"awk '{ sum += \$1 } END { print sum }' /user/dnaiel/test.txt > /user/dnaiel/sum.txt"
# -------------^^^

我很高兴成为你的第二双眼睛。祝你好运