Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 使用命令行格式化XML_Html_Xml_Bash_Format_Tidy - Fatal编程技术网

Html 使用命令行格式化XML

Html 使用命令行格式化XML,html,xml,bash,format,tidy,Html,Xml,Bash,Format,Tidy,我有一个html文本文件,我想格式化它,使段落总是在同一行,例如 <p>paragraph info here</p> 此处的段落信息 而不是 <p>paragraph info here </p> 段落 信息在此 是否有一个工具可以让我执行此操作您可以使用sed cat test.html |sed ':a;N;$!ba;s/\n/ /g' |sed 's/<\/p> /<\/p>\n/g' cat test.

我有一个html文本文件,我想格式化它,使段落总是在同一行,例如

<p>paragraph info here</p>
此处的段落信息

而不是

<p>paragraph
info here </p>
段落
信息在此


是否有一个工具可以让我执行此操作

您可以使用
sed

 cat test.html |sed ':a;N;$!ba;s/\n/ /g' |sed 's/<\/p> /<\/p>\n/g'
cat test.html | sed:a;N、 美元!文学士;s/\n//g'| sed's/\n/g'
在第一次运行中,删除所有换行符,然后将其添加到段落标记之后

虽然要求段落始终在同一行上,但只要将整个文件连接到一行即可满足要求,但该解决方案不太激进:

perl -pe 'if (/<p>/../<\/p>/) { s/\n/ / unless /<\/p>/ }' test.html
perl-pe'if(//../){s/\n//除非/}test.html

sed
awk
可以帮助您。令人惊讶的是,您最好的选择是使用xml解析器来解析不在两行之间的行

??