簡體   English   中英

試圖在 sed 中打印每一行的一部分

[英]Trying to print a part of each line in sed

我正在嘗試使用 sed 從數據列表中僅打印 url 的最后一部分。 我希望它使用 sed 而不是 awk。

輸入數據是這樣的:

Place,AF,http://en.wikipedia.org/wiki/Benin
Place Mat,NA,http://en.wikipedia.org/wiki/Saint_Barthelemy
Orion,NA,http://en.wikipedia.org/wiki/Bermuda

我只想像這樣打印 URL 的最后一部分(想要這個):

Benin
Saint Barthelemy
Bermuda

我在 / 和 \\ 上遇到了很多麻煩,因為它們存在於 url 中!!!

到目前為止我的嘗試(試圖用空替換我不想要的東西)

sed -r s/$.+wikipedia\.org\/// in.txt

另外我需要用 _ 替換空格,但我可以使用 y 命令 y/_/ / 我想?

使用 GNU sed:

sed 's/.*\///;s/_/ /g' file

或將第一個s///替換為s|||| 避免逃跑:

sed 's|.*/||;s/_/ /g' file

輸出:

Benin
Saint Barthelemy
Bermuda

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM