批处理之家's Archiver

kli2018 发表于 2019-8-19 17:44

[已解决]求助sed替换Windows的换行

[i=s] 本帖最后由 kli2018 于 2019-8-20 15:21 编辑 [/i]

我想把回车换成空格,使几串>>批量重复添加的数据变一行
比如一个内容为
mkvmerge -o 1.mkv  2.mp4
+ 2.mp4
+ 2.mp4
的txt文件
我用
sed -i "s/\r\n/ /g" 1.txt
替换后完全没反应
反过来
sed -i "s/ /\r\n/g" 1.txt

mkvmerge
-o
...........
+
2.mp4
说明\r\n没问题

换了个wfr,使用
wfr 1.txt -r:"\r\n" -t:" "
成功替换

sed出了啥问题啊?

Batcher 发表于 2019-8-19 18:50

[code]sed ":a;$!N;s/\n/ /;ta;P;D" 1.txt > 2.txt[/code]

kli2018 发表于 2019-8-19 19:13

完全看不懂

weichenxiehou 发表于 2020-2-23 11:42

[i=s] 本帖最后由 weichenxiehou 于 2020-2-23 11:44 编辑 [/i]

这样也行吧?[code]
sed -nr 'H;${g;s/\r\n/ /gp}' a.txt
[/code]

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.