lsf awk命令引号
当我在bash终端中运行此命令时,它会工作: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
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"
# -------------^^^
我很高兴成为你的第二双眼睛。祝你好运