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

Bash 将&&\添加到文本文件中除最后一行以外的每一行,bash,awk,sed,Bash,Awk,Sed,我试图在文本文件的每一行末尾添加&&\除了最后一行 样本输入: ps mkdir repo cd repo/ touch file1.txt 预期产出: ps && \ mkdir repo && \ cd repo/ && \ touch file1.txt 第一次尝试 我尝试了这一点,但它在每一行(包括最后一行)上都输出&&&\ 第二次尝试 我尝试使用sed: sed '1s/^//;$!s/$/"&&" \\/;

我试图在文本文件的每一行末尾添加&&\除了最后一行

样本输入:

ps 
mkdir repo 
cd repo/ 
touch file1.txt 
预期产出:

ps && \
mkdir repo && \
cd repo/ && \
touch file1.txt 
第一次尝试 我尝试了这一点,但它在每一行(包括最后一行)上都输出&&&\

第二次尝试 我尝试使用sed:

sed '1s/^//;$!s/$/"&&" \\/;$s/$//'
这似乎增加了额外的新行:

 ps
 && \
mkdir repo
 && \
cd repo/
 && \
touch file1.txt
您可以使用sed实现以下简单功能:

printf "line 1\nLine 2\nLine 3\n" | sed '$ ! s/$/ \&\& \\ /'
输出

您可以使用sed实现以下简单功能:

printf "line 1\nLine 2\nLine 3\n" | sed '$ ! s/$/ \&\& \\ /'
输出


欢迎来到SO,很好,您已经以代码的形式向我们展示了您的努力。请在您的问题中添加输入和预期输出的示例,并让我们输入s,这样您就不需要在&&之后加反斜杠了。但听起来您想查找bash-e以运行脚本。是否要修改文件本身?如果文件是一个shell脚本,则不需要紧跟在&&之后的\结尾。此外,如果它是一个完整的脚本,您可能会尝试另一种方法—将shell的-e标志设置为在第一个失败的命令之后退出。您可以通过使用sh-e执行,也可以在脚本开始时预编set-e。请在您的问题中添加输入和预期输出的示例,并让我们输入s,这样您就不需要在&&之后加反斜杠了。但听起来您想查找bash-e以运行脚本。是否要修改文件本身?如果文件是一个shell脚本,则不需要紧跟在&&之后的\结尾。此外,如果它是一个完整的脚本,您可能会尝试另一种方法—将shell的-e标志设置为在第一个失败的命令之后退出。您可以通过使用sh-e执行,或者在脚本开始时预先添加set-e。我相信,由于转换的原因,它不会正常工作。正在尝试在linux中运行windows txt文件。当我运行代码时,它就像数字表示第1行:第1行;2 : && \ ; 3号线:2号线;4: && \ ; 还有更多。。。有没有办法避免sed添加新行?啊!awk和sed不是Windows文件的好伴侣。我会留下我的答案Linux用户,但也许考虑使用Windows工具,如果这是浮动你的船。awk做了一项工作,但在lol结尾添加了&&。结尾处不应该有空白吗,在\?我相信由于转换,它不会对我正常工作。正在尝试在linux中运行windows txt文件。当我运行代码时,它就像数字表示第1行:第1行;2 : && \ ; 3号线:2号线;4: && \ ; 还有更多。。。有没有办法避免sed添加新行?啊!awk和sed不是Windows文件的好伴侣。我会留下我的答案Linux用户,但也许考虑使用Windows工具,如果这是浮动你的船。awk做了一项工作,但在lol结尾添加了&&。结尾处,在\之后不应该没有空白吗?
line 1 && \ 
Line 2 && \ 
Line 3