我尝试使用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}
我宁愿继续使用剪切
你知道切割有什么问题吗?
答案 0 :(得分:0)
我假设您脚本的这一部分是拼写错误:
val=`cut -c7-18 $c_line`
echo $var >> $targetfile
# ^ should be $val
问题是,当您使用$val
时,您正在使用"$val"
。
当您展开不带引号的变量时,会发生分词,因此echo
会看到两个参数:
echo 'First' 'last'
打印这些参数,用单个空格分隔。