如何在 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/