仅使用命令行解析 url

parse a url with the command line only

我有一个如下所示的 csv 文件:

id,author,url
1,bob,http://mywebsite.com/path/to/content
2,john,https://anotherwebsite.com/path/to/some/other/content
3,alice,http://www.somewebsite.com/path/to/content

我想把它变成:

id,author,url
1,bob,mywebsite.com
2,john,anotherwebsite.com
3,alice,somewebsite.com

我知道这可以通过 javascript 或 python 轻松完成,但我想了解 awksed 的工作原理。有没有办法仅使用命令行工具轻松完成此操作?

非常感谢

应该这样做:

awk -F, 'NR>1{split(,a,"/");[=10=]=","","a[3]}1' file
id,author,url
1,bob,mywebsite.com
2,john,anotherwebsite.com
3,alice,www.somewebsite.com

使用,
分割线 然后对于除第一行 NR>1 之外的所有内容,拆分字段 </code>,重新创建行。<br> <code>1打印全部


同时删除 www.

awk -F, 'NR>1{split(,a,"/");sub(/^www./,"",a[3]);[=11=]=","","a[3]}1'
id,author,url
1,bob,mywebsite.com
2,john,anotherwebsite.com
3,alice,somewebsite.com