不确定 cut -f 在 bash 中的意思

不确定 cut -f 在 bash 中的意思
STATUS='yes'
FOO='pretty'
BAR='purple'
for var in STATUS FOO BAR; do
#    declare -p $var | cut -d ' ' -f 3- >> variable.file
        declare -p $var >> variable.file
done

回报

declare -- STATUS="yes"
declare -- FOO="pretty"
declare -- BAR="purple"
  1. 不确定-f选项意味着什么?当我未附加时,-f它会显示“您必须指定字节、字符或字段的列表?”这手动的

-f将操作或显示限制为函数名称和定义

  1. cut -d ' '将其分成3个字段。declare, --, STATUS="yes"?
  2. 如果 2 正确,3-则将得到最后一个字段,其中包含 STATUS="yes" FOO="pretty" BAR="purple"

总的来说,我不确定point1,因为结果与point2,point3匹配,但我也想确认我的point2,point3解释是正确的。

答案1

使用cut,-f指定要提取的字段。 “字段”由分隔符(在您的情况下是一个字符)分隔Space。每个Space分隔一个字段,因此,如果您的数据具有多个Space字符(使用 进行检查od -bc your.file),则根据 ,它具有多个“字段” cut
其他工具,例如awk '{print $3} your.file有不同的“字段”概念。
顺便说一句,您的man页面引用不是来自man cut.开关,如-f,没有全局意义 - 它们对不同的程序意味着不同的东西。

相关内容