0

非常渴望了解如何从curl命令中获取我想要的数据。

我需要生成一个grep命令来获得以下信息html

<title> timetable </t itle>< <h3>study table</h3> <p>< strong>biology <div> <table
width='100%' cellpadding='5' cellspacing='0'><tr><th colspan="3">Level 44 Building 1 <tr> 
<td >monday</td> <td >1:30 – 2:30</td> <td >< a>Room number 22</a></td> <td >&nbsp;</td>
</tr> <tr><th colspan="2">body> </html>

我希望输出看起来像:

timetable
study table
Biology
Level 44 Building 1
Monday
1:30 - 2:30 
Room Number 22

目前我只知道如何做一个grep,例如:

grep 'href='
4

2 回答 2

1

如果您有GNU grep

$ grep -Po '(?<=>) ?\K[^<&>]{2,}(?=<)' file
timetable 
study table
biology 
Level 44 Building 1 
monday
1:30 – 2:30
Room number 22

免责声明:您应该为此使用适当的解析器。

于 2013-06-09T15:36:00.303 回答
0

假设您的字符串在变量$data中,您可以:

IFS=$'\n'
result=$(echo $data | sed 's/&[^;]*;//')
result=$(echo $result | sed 's/<[^>]*>/\n/g')
for string in $result; do
    if [[ ! $string =~ ^\ *$ ]]; then
        echo "string=$string."
    fi
done
于 2013-06-09T15:32:32.000 回答