我試着寫一個shell紙條以下數據shell腳本轉換成單一基於參數多行
輸入文件page.txt與內容:
enter a first page title<br><div style="margin-left: 40px;">enter a first point <br></div><div style="margin-left: 80px;">enter a second point<br></div><div style="margin-left: 120px;">enter a third point<br></div><div style="margin-left: 80px;"><br></div><div style="margin-left: 40px;"><br></div><div style="margin-left: 40px;"><br></div>
算法:
Read the pages file
Replace <br> with newline
Replace <div style="margin-left: 40px;"> with 1 tab
Replace <div style="margin-left: 80px;"> with 2 tab
Replace <div style="margin-left: 120px;"> with 3 tab
Replace <div style="margin-left: 160px;"> with 4 tab
我想用這個
tr '<br>' '\n' < page.txt
預期輸出文件
enter a first page title
enter a first point
enter a second point
enter a third point
請告訴告訴如何編寫上述腳本..
'tr'剛剛替換字符,它不能做你想什麼。使用sed,就像'sed's/
/\ n/g''那樣。 – ahilsend
它必須是一個shell腳本?我們不能使用python或perl嗎? –
Shell腳本通常不太適合這種問題,你的限制究竟是什麼?僅限Bash或可以在命令行上運行的任何東西?你有任何保證不會有任何嵌套的div?文件是否總是嚴格遵守上述格式(例如,「margin-left」和像素數量之間始終有一個空格,總是像素數目相同,等等)?字符串解析如果您不完全控制格式或使用實際的DOM,則HTML非常容易出錯。 – Thor84no