将 && \ 添加到文本文件中除最后一行之外的每一行

X00*_*570 3 bash awk sed

我试图&& \在文本文件的每一行末尾添加除最后一行之外的内容。

输入示例:

ps 
mkdir repo 
cd repo/ 
touch file1.txt 
Run Code Online (Sandbox Code Playgroud)

预期输出:

ps && \
mkdir repo && \
cd repo/ && \
touch file1.txt 
Run Code Online (Sandbox Code Playgroud)

第一次尝试

我尝试了这个,但它&& \在每一行上输出,包括最后一行

awk '{print $0"&& \\"}' RS="\r*\n\r*"
Run Code Online (Sandbox Code Playgroud)

第二次尝试

我尝试使用 sed:

sed '1s/^//;$!s/$/"&&" \\/;$s/$//'
Run Code Online (Sandbox Code Playgroud)

这似乎添加了额外的换行符:

 ps
 && \
mkdir repo
 && \
cd repo/
 && \
touch file1.txt
Run Code Online (Sandbox Code Playgroud)

Mar*_*ell 5

你可以使用sed这么简单的东西:

printf "line 1\nLine 2\nLine 3\n" | sed '$ ! s/$/ \&\& \\ /'
Run Code Online (Sandbox Code Playgroud)

输出

line 1 && \ 
Line 2 && \ 
Line 3
Run Code Online (Sandbox Code Playgroud)