1
A
回答
2
用awk:
awk -F '<% *| *%>' '{for(i=2; i<=NF; i+=2) print $i}' file
word1
word2
word3
2
你可以使用grep做到這一點:
$ grep -oP '(?<=<%).+?(?=%>)' file
word1
word2
word3
2
這適用於您的樣品:
sed -ne 's/%>/&\n/p' | sed -ne 's/.*<%\s*\(.*\)\s*%>.*/\1/p' < sample.txt
第一sed
只是把後,每關%>
一個換行符,作爲準備。
下一個sed
提取了<% ... %>
中的相關部分,沒有前導和尾隨空格。
在這兩種命令,則-n
標誌與s///p
組合是限制數據通過管道將要匹配的(相關)僅行。
+0
謝謝。這工作完美。 – alzhao
+0
請注意上面有兩個不可移植的sed構造:a)使用'\ n'作爲換行符(反斜槓後跟一個文字回車符是可移植的)和b)使用's代表一個空格字符('[[:blank:]]'是POSIX,但在這種情況下,空白字符可能就足夠了)。當你的grep不支持'-P'時,我很驚訝你的sed和那些工程師一起工作。 –
4
0
這可能會爲你工作( GNU sed):
sed '/<%\s*/!d;s//\n/;s/[^\n]*\n//;s/\s*%>/\n/;P;D' file
相關問題
- 1. linux shell文件大小
- 2. 從linux shell腳本運行linux可執行文件
- 3. shell腳本從linux目錄中刪除文件和子目錄
- 4. 如何從linux shell中訪問BIOS ROM二進制文件
- 5. 使用powershell將Linux shell腳本文件從windows插入到Linux框中
- 6. 從shell中刪除文件
- 7. 在Linux shell中
- 8. 從linux shell腳本發送郵件
- 9. shell腳本:從文件中讀取
- 10. 如何在Linux Shell腳本文件中包含文件?
- 11. Linux/Windows Shell腳本解鎖PGP文件
- 12. Linux的shell:寫IP二進制文件
- 13. 連接文件使用Linux shell腳本
- 14. Linux shell命令拆分日誌文件
- 15. shell腳本/ Linux的命令文件
- 16. linux shell獲取文件的名稱
- 17. Linux shell到windows批處理文件
- 18. 的Linux:從源文件中
- 19. Linux shell腳本 - 將文件夾從VPS複製到本地PC
- 20. 如何使用shell腳本將文件從Windows複製到Linux?
- 21. 用於從ftp刪除舊文件的Linux shell腳本
- 22. 如何從Linux shell腳本解析YAML文件?
- 23. 從文件shell腳本linux的grep命令
- 24. Linux從python運行shell cmd,無法加載配置文件
- 25. linux shell:如何從文件讀取命令參數?
- 26. 隱蔽分鐘,秒從Linux的shell腳本文件
- 27. shell腳本程序從linux遠程服務器下載文件
- 28. Shell腳本從Linux機器的文件複製到Windows機器
- 29. 從文件在Linux
- 30. Linux的:從文件
謝謝!忘記提及,我在嵌入式環境中。 grep沒有-P選項 – alzhao