head 命令删除部分行
Head command deletes part of line
我有一个包含以下数据的 csv 文件 (settings.csv)(分隔符是 space):
-n $(output_name)
--outdir “peaks/$(output_name)”
-g hs
-f AUTO
--qvalue 0.05
--extsize 200
-B
sample input output_name
sample-chip1 sample-input1 sample1
sample-chip2 sample-input2 sample2
当我调用 head -7 settings.csv
时,我得到了预期的输出:
-n $(output_name)
--outdir “peaks/$(output_name)”
-g hs
-f AUTO
--qvalue 0.05
--extsize 200
-B
接下来,我尝试将此输出存储在一个名为 settings
的变量中 settings=$(head -7 settings.csv)
,当我 echo $settings
时,我得到此输出:
$(output_name) --outdir “peaks/$(output_name)” -g hs -f AUTO --qvalue 0.05 --extsize 200 -B
把settings.csv第一行的-n
部分删掉了,不知道为什么。如何在不丢失 -n
的情况下创建 $settings
?
settings
变量已包含您希望存在的 -n
选项。只是 echo
命令将其解释为它自己的(echo
的)选项。
避免此问题的一种方法是引用参数:
echo "$settings"
或者,您可以使用
printf '%s\n' "$settings"
我有一个包含以下数据的 csv 文件 (settings.csv)(分隔符是 space):
-n $(output_name)
--outdir “peaks/$(output_name)”
-g hs
-f AUTO
--qvalue 0.05
--extsize 200
-B
sample input output_name
sample-chip1 sample-input1 sample1
sample-chip2 sample-input2 sample2
当我调用 head -7 settings.csv
时,我得到了预期的输出:
-n $(output_name)
--outdir “peaks/$(output_name)”
-g hs
-f AUTO
--qvalue 0.05
--extsize 200
-B
接下来,我尝试将此输出存储在一个名为 settings
的变量中 settings=$(head -7 settings.csv)
,当我 echo $settings
时,我得到此输出:
$(output_name) --outdir “peaks/$(output_name)” -g hs -f AUTO --qvalue 0.05 --extsize 200 -B
把settings.csv第一行的-n
部分删掉了,不知道为什么。如何在不丢失 -n
的情况下创建 $settings
?
settings
变量已包含您希望存在的 -n
选项。只是 echo
命令将其解释为它自己的(echo
的)选项。
避免此问题的一种方法是引用参数:
echo "$settings"
或者,您可以使用
printf '%s\n' "$settings"