【问题标题】:Unix: how to read line's original content from fileUnix:如何从文件中读取行的原始内容
【发布时间】:2013-08-18 01:19:55
【问题描述】:

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

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

例如原行是

department: marketing         section: A

而程序将此行视为:

department: marketing section: A

如何在不修剪所有冗余空间的情况下阅读该行?

非常感谢。

【问题讨论】:

  • 因为需要实现更多的业务逻辑,所以需要逐行读取文件

标签: unix echo trim cut


【解决方案1】:

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 

【讨论】:

  • 并且,如果出于其他原因 O.P. 需要使用循环,则引用引用如 "$line"。祝大家好运。
  • 啊,是的,我看错了他的帖子。 echo "$line"真正的解决方案。
  • 感谢所有提供建议的人。它现在解决了我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-26
  • 2012-01-29
  • 2022-12-16
  • 1970-01-01
  • 2016-11-02
  • 1970-01-01
  • 2011-03-15
相关资源
最近更新 更多