如何在Linux中使用具有多字符字符串的“cut”命令

shi*_*eve 3 unix linux string cut

/home/user/views/links/user1/gitsrc/database/src/

这是我的绳子。我想将其切成 2 个字符串,例如“/home/user/views/links/user1/”“/database/src/”

所以 delim 实际上不是单个字符,而是一组字符,即“gitsrc”。

Fre*_*ddy 5

您只能将单个字符定义为 中的分隔符cut

您可以使用awk字段分隔符可以是单个字符、空字符串或正则表达式,例如

$ echo '/home/user/views/links/user1/gitsrc/database/src/' |
  awk -F'gitsrc' '{ print $1 " " $2 }'
/home/user/views/links/user1/ /database/src/
Run Code Online (Sandbox Code Playgroud)

或者

$ echo '/home/user/views/links/user1/gitsrc/database/src/' |
  awk -F'gitsrc' '{ print $1 ORS $2 }'
/home/user/views/links/user1/
/database/src/
Run Code Online (Sandbox Code Playgroud)

在您的 shell 中,您可以或使用参数扩展来获取第一部分和第二部分:

$ 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/
Run Code Online (Sandbox Code Playgroud)