Unix:如何从文件中读取行的原始内容

时间:2013-08-18 01:19:56

标签: unix echo trim cut

我有一个数据文件,内容如下:

department: customer service  section: A
department: marketing         section: A
department: finance           section: A

当我读取每一行时,我会使用cut命令提取部门名称。

不幸的是,该程序将自动trim所有冗余空间和

因此我错误地删除了部门名称。

cat dept.dat | while read line
do
    echo $line
    echo $line | cut -c 12-29
done

e.g。原始行是

department: marketing         section: A

虽然程序将此行视为:

department: marketing section: A

如何在不修剪所有冗余空间的情况下读取线路?

非常感谢。

1 个答案:

答案 0 :(得分:2)

cut不会修改空格。如果查看输出,您会看到空格在被输入cut之前已经被修剪过。

无需whileread,只需将文件名直接传递给cut

/tmp >cat dept.dat 
department: customer service  section: A
department: marketing         section: A
department: finance           section: A    
/tmp >cut -c 12-29 dept.dat 
customer service 
marketing        
finance