2014-06-11 123 views
0

我有一個包含一些行的文件。我想將每一行存儲到一個變量中,但該行必須在shell腳本中完成(perl - chomp($ Line))。從bash中的文件讀取的行中刪除換行符

含有打開文件和讀取線的功能的代碼是

p_file() { 

File=$1 
count=0 

while read LINE 
do 
     chomped_line=$LINE **#How to delete the linebreaks** 
     echo $chomped_line 

done < $File 

} 

如何刪除換行符和字符串中的變量(chomped_line)如上

+0

http://stackoverflow.com/questions/369758/how-to-trim-whitespace-from-bash-variable – arkascha

回答

6

只需使用

存儲
while IFS=$' \t\n\r' read -r LINE 

它會排除每行的前導和尾隨空格甚至回車字符(\r)。沒有必要chomp它。如果你不喜歡使用IFS

while IFS=$'\n\r' read -r LINE 

另一種方式是剛修剪出\r

如果你還希望包括除了\n和/或其他\r空間,只是不指定他人:

chomped_line=${LINE%$'\r'} 

    *     -r p爲了逃避任何角色而使用反斜槓。