仅使用命令行解析 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 轻松完成,但我想了解 awk
和 sed
的工作原理。有没有办法仅使用命令行工具轻松完成此操作?
非常感谢
应该这样做:
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
我有一个如下所示的 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 轻松完成,但我想了解 awk
和 sed
的工作原理。有没有办法仅使用命令行工具轻松完成此操作?
非常感谢
应该这样做:
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