我正在阅读一个文件并根据一些逻辑切割一列.我的问题是我无法用空格剪切一列.
这是测试代码 -
st="1|alalhabad|up|tushar|kesarwani|90| mls k|19990|india|420|24|m"
HardErrorCheckColumnValue=`echo $st | cut -d'|' -f7`
echo $HardErrorCheckColumnValue
Run Code Online (Sandbox Code Playgroud)
输出应该是 -
mls k
Run Code Online (Sandbox Code Playgroud)
但我得到 -
mls k
Run Code Online (Sandbox Code Playgroud)
如何使其不修剪前导或尾随空格?它应该给空间,即使它只包含空间.
您必须在变量周围使用引号:
HardErrorCheckColumnValue=$(echo "$st" | cut -d'|' -f7)
echo "$HardErrorCheckColumnValue"
mls k
Run Code Online (Sandbox Code Playgroud)
更好地使用$(...)而不是旧式的后退来进行命令替换.