Bash 将换行符回显到文件,除非是字符串的一部分
Bash echo newline to file unless part of string
我想将两个文件连接到第三个文件,但保留换行符。为此,我使用
FILE1=$(cat /path/file1)
FILE2=$(cat /path/file2)
FILE3="$FILE1 \n $FILE2"
echo -e $FILE3 > /path/to/file
但是,其中一个文件,我有一个 sed
操作,其中包含字符串 \n
。当我创建第三个文件时,我不希望这个特定的 \n
字符构成换行符。
我能做什么?
我完全不知道你为什么要把文件内容塞进变量里。怎么了
cat /path/file1 /path/file2 > /path/to/file
如果您出于其他目的需要 FILE1 和 FILE2 变量,请避免使用 FILE3
echo "$FILE1
$FILE2" > /path/to/file
或
printf "%s\n" "$FILE1" "$FILE2" > /path/to/file
或
cat <<END_CONCAT > /path/to/file
$FILE1
$FILE2
END_CONCAT
我想将两个文件连接到第三个文件,但保留换行符。为此,我使用
FILE1=$(cat /path/file1)
FILE2=$(cat /path/file2)
FILE3="$FILE1 \n $FILE2"
echo -e $FILE3 > /path/to/file
但是,其中一个文件,我有一个 sed
操作,其中包含字符串 \n
。当我创建第三个文件时,我不希望这个特定的 \n
字符构成换行符。
我能做什么?
我完全不知道你为什么要把文件内容塞进变量里。怎么了
cat /path/file1 /path/file2 > /path/to/file
如果您出于其他目的需要 FILE1 和 FILE2 变量,请避免使用 FILE3
echo "$FILE1
$FILE2" > /path/to/file
或
printf "%s\n" "$FILE1" "$FILE2" > /path/to/file
或
cat <<END_CONCAT > /path/to/file
$FILE1
$FILE2
END_CONCAT