我將如何操作grep的輸出文本。如何使用awk處理文本?
現在我使用下面的命令:
grep -i "<url>" $file >> ./txtFiles/$file.txt
這將輸出類似這樣:
<url>http://www.simplyrecipes.com/recipes/chicken_curry_salad/</url>
,然後下一個文本將轉到下一行。
我怎樣才能擺脫<url>
和</url>
,並阻止它到最後的下一行。
我將如何操作grep的輸出文本。如何使用awk處理文本?
現在我使用下面的命令:
grep -i "<url>" $file >> ./txtFiles/$file.txt
這將輸出類似這樣:
<url>http://www.simplyrecipes.com/recipes/chicken_curry_salad/</url>
,然後下一個文本將轉到下一行。
我怎樣才能擺脫<url>
和</url>
,並阻止它到最後的下一行。
sed '/<\/*url>/!d;s///g'
<\/*url>
結束標記的所有情況下你的榜樣行的比賽都開始與,它可能看起來像這樣
sed '/<\/*url>/!d;s///g' $file >> ./txtFiles/$file.txt
謝謝你的工作。最後一件事,它仍然會在url後面的下一行。你知道我將如何擺脫這種情況,以便下一篇文章能夠緊隨其後。 – 2013-04-25 23:10:13
或者可能是我如何添加下一行。我正在使用printf,所以我假設這是什麼導致它去下面的文本的下一行。還有什麼我應該用來追加文本在行尾,而不是在一個新的行? – 2013-04-25 23:28:18
個單命令:
sed -in '/<url>/ { s|<url>\(.*\)</url>|\1| ; p ; }' INPUT > OUTPUT
或者使用awk:
awk -F "</?url>" '/<url>/ { print $2 }' INPUT > OUTPUT
注:如果有多個<url>...</url>
模式在一行中發生雙方可能會給你無效的輸出。如果<url>...</url>
包含任何管道(|
)字符,sed
版本可能會失敗。
擺脫了什麼?也許你想刪除新的行字符,在這種情況下,管它在TR「\ n」「」 – lc2817 2013-04-25 05:31:39