我正在寻找变量中的特定行,例如:
例如,如果我只是在寻找“MODE SENSE(6)”,我会使用grep、awk(还尝试过sed)。
这确实给了我正确的字符串,即“MODE SENSE(6)”,但当我回显它时,一些字符串会重叠。
给我:
我会期望这样打印出来:
但实际情况是我得到了以下内容:
echo "$CodeDesc"
0x19 ERASE(6)
0x1A MODE SENSE(6)
0x1B START STOP UNIT
0x1C RECEIVE DIAGNOSTIC RESULTS
0x1D SEND DIAGNOSTIC
0x1E PREVENT ALLOW MEDIUM REMOVAL
0x23 READ FORMAT CAPACITIES
0x24 SET WINDOW
例如,如果我只是在寻找“MODE SENSE(6)”,我会使用grep、awk(还尝试过sed)。
desc="$( grep "0x1A" <<< "$CodeDesc" | awk '{print substr($0, index($0,$2))}' )"
这确实给了我正确的字符串,即“MODE SENSE(6)”,但当我回显它时,一些字符串会重叠。
echo "DESC: \"$desc\""
给我:
"SC:"MODE SENSE(6)
注意双引号已经移到了开头,DE不见了。
稍后我还将打印同一个变量以及另一个变量:
echo -e "${desc}${code}"
我会期望这样打印出来:
MORE SENSE(6) 0x1A 1
但实际情况是我得到了以下内容:
0x1a 1NSE(6)
我无法弄清楚这是怎么回事,需要帮助,谢谢。
dos2unix
命令。 - fedorqui