想在第二个尾部斜杠之前剪切吗?
Want to cut right before second trailing slash?
我想在第二个尾部斜杠之前剪切以下行。
喜欢
/home/john
/home/mathew
/home/alexander/public_html/path/to/file/1
/home/testuser/public_html/path/to/file/1
/home/hellouser/public_html/path/to/file/13
到
/home/john
/home/mathew
/home/alexander
/home/testuser
/home/hellouser
如何做到这一点?使用 grep 或 cut 或 awk 或 sed?我不确定。
你可以使用 awk
awk -F/ '{print "/" "/" }'
您可以尝试以下 awk 命令。
awk 'BEGIN{FS=OFS="/"}{print ,,}' file
BEGIN{FS=OFS="/"}
在 BEGIN 块中,/
被设置为 FS
和 OFS
的值。打印函数上的逗号打印 OFS 值。
或
awk -F/ '{print FSFS}' file
或
$ awk -F/ '{print FSFS}' file
/home/john
/home/mathew
/home/alexander
/home/testuser
/home/hellouser
awk -F/ -vOFS="/" 'NF=3' file
/home/john
/home/mathew
/home/alexander
/home/testuser
/home/hellouser
这是 cut
发明的目的:
$ cut -d'/' -f1-3 file
/home/john
/home/mathew
/home/alexander
/home/testuser
/home/hellouser
你的问题有很大线索:"Want to cut..."
我想在第二个尾部斜杠之前剪切以下行。
喜欢
/home/john
/home/mathew
/home/alexander/public_html/path/to/file/1
/home/testuser/public_html/path/to/file/1
/home/hellouser/public_html/path/to/file/13
到
/home/john
/home/mathew
/home/alexander
/home/testuser
/home/hellouser
如何做到这一点?使用 grep 或 cut 或 awk 或 sed?我不确定。
你可以使用 awk
awk -F/ '{print "/" "/" }'
您可以尝试以下 awk 命令。
awk 'BEGIN{FS=OFS="/"}{print ,,}' file
BEGIN{FS=OFS="/"}
在 BEGIN 块中,/
被设置为 FS
和 OFS
的值。打印函数上的逗号打印 OFS 值。
或
awk -F/ '{print FSFS}' file
或
$ awk -F/ '{print FSFS}' file
/home/john
/home/mathew
/home/alexander
/home/testuser
/home/hellouser
awk -F/ -vOFS="/" 'NF=3' file
/home/john
/home/mathew
/home/alexander
/home/testuser
/home/hellouser
这是 cut
发明的目的:
$ cut -d'/' -f1-3 file
/home/john
/home/mathew
/home/alexander
/home/testuser
/home/hellouser
你的问题有很大线索:"Want to cut..."