我正在尝试在AppleScript中使用sed清理具有多行的文本文件。
源文件(test.txt)
Some random text
<html>
Lorem ipsum dolor sit amet rhoncus
</html>
Even more random text
Applescript
do shell script "sed 's/.*\\(<html.*html>\\).*/\\1/' test.txt"
所需的输出:
<html>
Lorem ipsum dolor sit amet rhoncus
</html>
由于sed仅逐行查找,因此接收到的输出保持不变。有没有办法强迫sed查看整个文件?
答案 0 :(得分:0)
这可能对您有用(GNU sed):
sed -n '/^<html>/,/^<\/html>/p' file
使用类似seds grep的选项-n
关闭自动打印,然后使用一个范围,并且仅打印该范围内的行。
或者:
sed '/^<html>/,/<\/html>/!d' file
答案 1 :(得分:0)
如果您对awk
表示满意,那么下面的内容也可以为您提供帮助。
awk '/<html>/,/<\/html>/' Input_file