簡體   English   中英

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM