使用CUT命令时包含空格

时间:2016-06-27 13:19:32

标签: linux shell filter cut

我尝试使用cut命令从文件中提取11个字符(默认值)。如果字符包含双空格,则cut命令为输出提供单个间距。

我正在处理的文件如下:

blablaFirst  lastblabla 

我使用的命令是:

cut -c7-18 file.txt

非理想的结果是(一个空格而不是两个 第一个最后一个):< / p>

First last

这是主要代码:

c_line="file.txt"
targetfile="result.txt"
var1=0
while read c_line
do
var1=`grep -c "IIT   Chennai" $c_line`
echo $var1 >> $targetfile
if [ $var1 -ge 1 ]
then
val=`cut -c7-18 $c_line`
echo $var >> $targetfile

fi
done<${c_line}

我宁愿继续使用剪切

你知道切割有什么问题吗?

1 个答案:

答案 0 :(得分:0)

我假设您脚本的这一部分是拼写错误:

val=`cut -c7-18 $c_line`
echo $var >> $targetfile
#       ^ should be $val

问题是,当您使用$val时,您正在使用"$val"

当您展开不带引号的变量时,会发生分词,因此echo会看到两个参数:

echo 'First' 'last'

打印这些参数,用单个空格分隔。