2013-08-18 67 views
0

行的原始內容我有一個數據文件,內容如下:Unix的:如何從文件中讀取

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 

我怎樣才能讀取的行不修整所有多餘的空間?

非常感謝。

+0

監守我需要實現一些業務邏輯,就需要讀取線 – Newbiee

回答

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 
+0

文件中的行,如果由於其他原因,OP需要使用循環,引用引用像'「$ line」'。祝你們好運。 – shellter

+0

啊,是的,我誤解了他的帖子。 'echo「$ line」'是* real *解決方案。 – sshaw

+0

感謝所有提供建議的人。它現在解決了我的問題。 – Newbiee