bash脚本删除换行符

0 unix bash newline

我试图从文件中删除换行符.我的文件是这样的(它包含反斜杠):

line1\|
line2\|
Run Code Online (Sandbox Code Playgroud)

我使用以下脚本删除换行符:

#!/bin/bash
INPUT="file1"
while read line
do
: echo -n $line
done < $INPUT
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

line1|line2|
Run Code Online (Sandbox Code Playgroud)

它删除了反斜杠.我怎样才能保留那些反斜杠?

Bar*_*mar 5

-r选项,以read防止输入的反斜杠处理.

while read -r line
do
    echo -n "$line"
done < $INPUT
Run Code Online (Sandbox Code Playgroud)

但是,如果您只想从输入中删除所有换行符,那么tr命令会更好:

tr -d '\n' < $INPUT
Run Code Online (Sandbox Code Playgroud)