使用awk或sed将HTML标记替换为换行符
我有一个大文件,没有换行或回车。这个文件来自HTML,我去掉了所有的标记,除了我想转换成换行符(/n)的标记。使用AWK或SED的快捷方法是什么?我想AWKSED也是一个选项。类似的功能应该可以:使用awk或sed将HTML标记替换为换行符,html,windows,sed,awk,newline,Html,Windows,Sed,Awk,Newline,我有一个大文件,没有换行或回车。这个文件来自HTML,我去掉了所有的标记,除了我想转换成换行符(/n)的标记。使用AWK或SED的快捷方法是什么?我想AWKSED也是一个选项。类似的功能应该可以: sed 's/<[^>]*>/\n/g' file sed's/]*>/\n/g'文件 这意味着:将所有以开头、以结尾的文本替换为换行符 因此,如果我将/tr放在括号中,它应该用换行符替换该标记的所有出现处?是的,这将用换行符更新所有出现处,因为g命令,并且因为[^>]进行非贪婪
sed 's/<[^>]*>/\n/g' file
sed's/]*>/\n/g'文件
这意味着:将所有以
开头、以
结尾的文本替换为换行符 因此,如果我将/tr放在括号中,它应该用换行符替换该标记的所有出现处?是的,这将用换行符更新所有出现处,因为g
命令,并且因为[^>]
进行非贪婪匹配,我对您的更改感到有点困惑。如果标签是/tr,那么在您的解决方案中,我应该用/tr替换什么?^>或*?@DominicRomano I添加了一个解释,说明了它是如何工作的。我假设标记是
,而不是/tr
,因此它将与我发布的命令相匹配(我的初始答案是贪婪匹配的,因此它只适用于行中的单个标记)@DominicRomano我刚刚注意到您已将问题标记为[windows]
。如果是这种情况,也许你应该用一个编辑器打开输出,该编辑器将\n
识别为换行符,或者将命令更改为sed's/]*>/\r\n/g'文件
告诉我没有真正命名为AWKSED
!!!!发布一些示例输入和预期输出。