【问题标题】:Head command deletes part of line [duplicate]头命令删除部分行[重复]
【发布时间】:2021-05-01 11:17:12
【问题描述】:

我有一个 csv 文件 (settings.csv),其中包含以下数据(分隔符是空格):

-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

接下来,我尝试将此输出存储在一个名为 settingssettings=$(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部分,我不知道为什么。如何创建$settings 而不会丢失-n

【问题讨论】:

  • 引用它echo "$settings"

标签: bash head


【解决方案1】:

settings 变量已包含您希望出现的-n 选项。只是echo 命令将其解释为自己的(echo's)选项。

避免这个问题的一种方法是引用参数:

echo "$settings"

或者,您可以使用

printf '%s\n' "$settings"

【讨论】:

    猜你喜欢
    • 2021-12-11
    • 2016-07-12
    • 2012-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 2012-10-14
    相关资源
    最近更新 更多