我正在尝试用<p/>替换文本文件中的每个<p/>。
我在没有运气的情况下尝试了以下几种方法:
sed 's#\r\n#<p/>#g' test.txt
sed 's#\r\n#<p/>#g' test.txt
sed 's#/\r/\n#<p/>#g' test.txt
sed ':a;N;$!ba;s/\r\n/<p/>/g' test.txt以下是text.txt中的文本
https://www.pivotaltracker.com/story/\r\nhttps://www.pivotaltracker.com/story\r\n\r\nSome business text.\r\n\r\nSome business text. Task 123 is still a work in progress but we wanted it in develop to keep everything updated.发布于 2016-11-02 13:26:51
所有其他答案都假设您试图处理Windows样式的行尾,并将其更改为段落标记。
要将字符\r\n的文字序列更改为其他内容,只需使用全局替换:
sed 's!\\r\\n!<p/>!g' file\本身需要被逃脱。
发布于 2016-11-02 13:01:41
cat file | tr -d '\r' | sed 's|$|</p>|g' | tr -d '\n'发布于 2016-11-02 13:00:21
与sed相比,用perl一行程序操作行尾要容易得多。这是完全未经测试的,但应该有效(在我的脑海中,唯一的问题是perl现在是否可以进行通用换行符处理,在这种情况下,您永远不会看到\r):
perl -e 'undef $/; while (<>) { s:\r\n:<p/>:g; print; }' test.txt > xtest.txt或等量
perl -pe 'BEGIN { undef $/ } s:\r\n:<p/>:g' test.txt > xtest.txt关键是开头的undef $/,这使得perl将整个test.txt读入一个大的长字符串;然后,显而易见的正则表达式就开始工作了。
https://stackoverflow.com/questions/40380437
复制相似问题