我有一个包含一些行的文件。我想将每一行存储到一个变量中,但是必须在shell脚本中对该行进行限制(在perl-chomp($ Line)中完成它的方式)。
包含打开文件和读取行的功能的代码是
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 :(得分:10)
只需使用
while IFS=$' \t\n\r' read -r LINE
它会排除前导和尾随空格,甚至每行返回字符(\r
)。不需要扼杀它。
如果您仍想要包含\n
和/或\r
以外的其他空格,请不要指定其他空格:
while IFS=$'\n\r' read -r LINE
如果您不喜欢使用IFS,另一种方法就是删除\r
:
chomped_line=${LINE%$'\r'}
* -r
可防止反斜杠转义任何字符。