如何在 linux 中使用带有多字符字符串的 'cut' 命令
how to use 'cut' command in linux with multi character sting
/home/user/views/links/user1/gitsrc/database/src/
这是我的字符串。我想把它剪成两串,比如
“/home/user/views/links/user1/”
"/database/src/"
所以 delim 实际上不是单个字符而是一组字符,即 "gitsrc"。
您只能在 cut
中定义单个字符作为分隔符。
您可以使用 awk
,其中字段分隔符可以是单个字符、空字符串或正则表达式,例如
$ echo '/home/user/views/links/user1/gitsrc/database/src/' |
awk -F'gitsrc' '{ print " " }'
/home/user/views/links/user1/ /database/src/
或
$ echo '/home/user/views/links/user1/gitsrc/database/src/' |
awk -F'gitsrc' '{ print ORS }'
/home/user/views/links/user1/
/database/src/
在您的 shell 中,您可以或使用 parameter expansion 获取第一部分和第二部分:
$ str=/home/user/views/links/user1/gitsrc/database/src/
$ echo "${str%%gitsrc*}" # remove longest suffix `gitsrc*`
/home/user/views/links/user1/
$ echo "${str#*gitsrc}" # remove shortest prefix `*gitsrc`
/database/src/
/home/user/views/links/user1/gitsrc/database/src/
这是我的字符串。我想把它剪成两串,比如 “/home/user/views/links/user1/” "/database/src/"
所以 delim 实际上不是单个字符而是一组字符,即 "gitsrc"。
您只能在 cut
中定义单个字符作为分隔符。
您可以使用 awk
,其中字段分隔符可以是单个字符、空字符串或正则表达式,例如
$ echo '/home/user/views/links/user1/gitsrc/database/src/' |
awk -F'gitsrc' '{ print " " }'
/home/user/views/links/user1/ /database/src/
或
$ echo '/home/user/views/links/user1/gitsrc/database/src/' |
awk -F'gitsrc' '{ print ORS }'
/home/user/views/links/user1/
/database/src/
在您的 shell 中,您可以或使用 parameter expansion 获取第一部分和第二部分:
$ str=/home/user/views/links/user1/gitsrc/database/src/
$ echo "${str%%gitsrc*}" # remove longest suffix `gitsrc*`
/home/user/views/links/user1/
$ echo "${str#*gitsrc}" # remove shortest prefix `*gitsrc`
/database/src/