我想知道是否有更好和更清潔的方法來洗掉僅使用 AWK 的檔案中每一行的開頭和最后的字串?
這是我到目前為止得到的
cat results.txt | awk '{gsub("https://", "") ;print}' | tr -d ":443"
File: results.txt
https://www.google.com:443
https://www.tiktok.com:443
https://www.instagram.com:443
To get the result
www.google.com
www.tiktok.com
www.instagram.com
uj5u.com熱心網友回復:
使用/and:作為欄位分隔符并列印第四列:
awk -F '[/:]' '{print $4}' results.txt
或使用https://and:作為欄位分隔符并列印第二列:
awk -F 'https://|:' '{print $2}' results.txt
輸出:
www.google.com www.tiktok.com www.instagram.com
uj5u.com熱心網友回復:
如果它是這樣的 URL 串列,您可以利用欄位分隔符awk可以是正則運算式的事實:
awk -F':(//)?' '{print $2}'
這表示您的欄位分隔符是“:可選地后跟//”,它將每一行分成:
[$1] http
[$2] www.google.com
[$3] 443
然后我們只列印出 field $2。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/451485.html
上一篇:使用BASH的文本檔案中的輸入重定向以用作C程式中的資料
下一篇:什么是參考命令?
