Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
awk/bash引用:打印\在echo中_Bash_Shell_Awk_Quoting - Fatal编程技术网

awk/bash引用:打印\在echo中

awk/bash引用:打印\在echo中,bash,shell,awk,quoting,Bash,Shell,Awk,Quoting,我们需要打印出来 targetID=“123” AssayID=“456” A.我们尝试: printf "awk -F"\""," 'BEGIN{FS=\",\";OFS=\",\";} {print \$1,\$2,\$3,\$4,\$5,\$6,\$7,\$8,\$9,\$10,\$11,\$20,\$12,\$13,\$14,\$15,\$16,\$17,\$18,\$19}' VrtAssay_${TargetIDs}_target_${AssayID}_assay_Detail2_a

我们需要打印出来

targetID=“123”

AssayID=“456”

A.我们尝试:

printf "awk -F"\""," 'BEGIN{FS=\",\";OFS=\",\";} {print \$1,\$2,\$3,\$4,\$5,\$6,\$7,\$8,\$9,\$10,\$11,\$20,\$12,\$13,\$14,\$15,\$16,\$17,\$18,\$19}' VrtAssay_${TargetIDs}_target_${AssayID}_assay_Detail2_average.csv > VrtAssay_${TargetIDs}_target_${AssayID}_assay_Detail3.csv"
或回声

echo "awk -F"\"", 'BEGIN{FS=\",\";OFS=\",\";} {print \$1,\$2,\$3,\$4,\$5,\$6,\$7,\$8,\$9,\$10,\$11,\$20,\$12,\$13,\$14,\$15,\$16,\$17,\$18,\$19}' VrtAssay_${TargetIDs}_target_${AssayID}_assay_Detail2_average.csv > VrtAssay_${TargetIDs}_target_${AssayID}_assay_Detail3.csv"
两个give(\都不见了)

如果我们尝试

printf "awk -F\\", 'BEGIN{FS=\",\";OFS=\",\";} {print \$1,\$2,\$3,\$4,\$5,\$6,\$7,\$8,\$9,\$10,\$11,\$20,\$12,\$13,\$14,\$15,\$16,\$17,\$18,\$19}' VrtAssay_${TargetIDs}_target_${AssayID}_assay_Detail2_average.csv > VrtAssay_${TargetIDs}_target_${AssayID}_assay_Detail3.csv" 
echo "awk -F\\", 'BEGIN{FS=\",\";OFS=\",\";} {print \$1,\$2,\$3,\$4,\$5,\$6,\$7,\$8,\$9,\$10,\$11,\$20,\$12,\$13,\$14,\$15,\$16,\$17,\$18,\$19}' VrtAssay_${TargetIDs}_target_${AssayID}_assay_Detail2_average.csv > VrtAssay_${TargetIDs}_target_${AssayID}_assay_Detail3.csv"
这些将给出一个错误消息

Unmatched ".
如果我们尝试

printf "awk -F\\", 'BEGIN{FS=\",\";OFS=\",\";} {print \$1,\$2,\$3,\$4,\$5,\$6,\$7,\$8,\$9,\$10,\$11,\$20,\$12,\$13,\$14,\$15,\$16,\$17,\$18,\$19}' VrtAssay_${TargetIDs}_target_${AssayID}_assay_Detail2_average.csv > VrtAssay_${TargetIDs}_target_${AssayID}_assay_Detail3.csv" 
echo "awk -F\\", 'BEGIN{FS=\",\";OFS=\",\";} {print \$1,\$2,\$3,\$4,\$5,\$6,\$7,\$8,\$9,\$10,\$11,\$20,\$12,\$13,\$14,\$15,\$16,\$17,\$18,\$19}' VrtAssay_${TargetIDs}_target_${AssayID}_assay_Detail2_average.csv > VrtAssay_${TargetIDs}_target_${AssayID}_assay_Detail3.csv"
这给了我们

Unmatched ".
不知哪位大师能提供一些解决方案

试试看

echo 'awk -F\",'
如果我们将输入用单引号括起来,它将按原样打印。

尝试一下

echo 'awk -F\",'

如果我们将输入括在单引号内,它将按原样打印。

任何这些工作,您只需确保所有内容都已正确转义:

 $ echo 'awk -F\",'
 $ echo awk -F\\\",
 $ echo "awk -F\\\","
shell的解析规则基本上是:

  • “单引号”
    中,除单引号外的所有内容都按字面解释;要包含文字单引号,您需要关闭单引号,然后使用双引号来获得它
  • 在“双引号”中,双引号和反斜杠必须用反斜杠转义。因此,文字双引号是
    \”
    ,文字反斜杠是
    \\
    ,文字反斜杠和双引号是
    \\\”
    。如果你只是写
    \\”
    ,那是一个反斜杠,后面跟着一个结束引号

    • 任何这些工作,您只需确保所有内容都已正确转义:

       $ echo 'awk -F\",'
       $ echo awk -F\\\",
       $ echo "awk -F\\\","
      
      shell的解析规则基本上是:

      • 'single quotes'
        中,除单引号外的所有内容都是按字面解释的;要包含字面意义上的单引号,需要关闭单引号,然后使用双引号来获得它
      • “双引号”
        中,双引号和反斜杠必须用反斜杠转义。因此,文本双引号是
        \“
        ,文本反斜杠是
        \\
        ,而文本反斜杠和双引号是
        \\\”
        。如果您只写
        \\”
        ,这是一个字面上的反斜杠,后跟一个结束引号

      使用单引号而不是双引号,例如:

      echo 'awk -F\",'
      

      使用单引号而不是双引号,例如:

      echo 'awk -F\",'
      

      在B尝试中,请注意反斜杠已消失,因为它用于转义下面的
      @Henry您的实际问题是什么?为什么更改了问题?如果您有任何其他疑问,请尝试将其作为另一个问题问。在B尝试中,请注意反斜杠已消失,因为它用于转义下面的
      @Henry你真正的问题是什么?你为什么改变这个问题?如果您有任何其他疑问,请尝试将其作为另一个问题提问。您好,谢谢您的快速回复。但是,我稍微编辑了一下问题,echo“”可能会破坏以下变量${TargetIDs}和${AssayID}。是的,要展开变量,需要将它们括在双引号内。您好,感谢您的快速响应。但是,我稍微编辑了这个问题,echo“”可能会破坏以下变量${TargetIDs}和${AssayID}。是的,要展开变量,需要将它们括在双引号内。