Text-Processing
使用 Unix 命令實現排序 URL 正則表達式
我是正則表達式的新手,因為它們體現在 sed、awk、sort、grep 和其他 Unix 二進製文件中。
我知道,如果我在我的文本編輯器 (BBEdit) 中使用這個正則表達式對 URL 列表進行排序:
(https?)://([a-z0-9]+[.])*(.+?)[.](.+?)/(.*)$ \3\t\4\t\2\t\5\t\1
它產生了我想要的最終結果。
我想在 Unix 命令行上對它進行排序,這樣它就可以自動完成,而無需我在 BBEdit 的 GUI 中觸發排序。但是,我沒有足夠的 sed、awk、sort 等知識來適當地翻譯它。
如果有人可以幫助我回答問題,也許還可以接受一點教育,我們將不勝感激。(我確實可以使用這些命令的 GNU 版本,如果重要的話,我目前的 shell 是 zsh。)
這是做你想做的嗎?
cat urls.txt | sed -r -e "s|(https?)://([a-z0-9]+[.])*(.+?)[.](.+?)/(.*)$|\3\t\4\t\2\t\5\t\1|g"
我不是一個
sed
出口,但建設sed -e -r "s|someregex|replacedwitthis|g" < somefile.txt
可以派上用場。希望這可以幫助!