我正在阅读一个文件并根据一些逻辑剪切一列。我的问题是我无法剪切带有空间的列。
这是测试代码 -
st="1|alalhabad|up|tushar|kesarwani|90| mls k|19990|india|420|24|m"
HardErrorCheckColumnValue=`echo $st | cut -d'|' -f7`
echo $HardErrorCheckColumnValue
输出应该是 -
mls k
但我越来越——
mls k
如何使它不修剪前导或尾随空格?它应该给空间,即使它只包含空间。
最佳答案
您必须在变量周围使用引号:
HardErrorCheckColumnValue=$(echo "$st" | cut -d'|' -f7)
echo "$HardErrorCheckColumnValue"
mls k
最好使用
$(...)
而不是老式的反引号进行命令替换。关于bash - 如何从 Unix shell 脚本中的字符串中剪切空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30272704/