linux - 如何在多字符字符串的 linux 中使用“cut”命令
问题描述
/home/user/views/links/user1/gitsrc/database/src/
这是我的字符串。我想将它切割成 2 个字符串,例如“/home/user/views/links/user1/”“/database/src/”
所以delim实际上不是一个字符,而是一组字符,即“gitsrc”。
解决方案
您只能将单个字符定义为cut
.
您可以使用awk
字段分隔符可以是单个字符、空字符串或正则表达式,例如
$ echo '/home/user/views/links/user1/gitsrc/database/src/' |
awk -F'gitsrc' '{ print $1 " " $2 }'
/home/user/views/links/user1/ /database/src/
或者
$ echo '/home/user/views/links/user1/gitsrc/database/src/' |
awk -F'gitsrc' '{ print $1 ORS $2 }'
/home/user/views/links/user1/
/database/src/
在您的外壳中,您可以或使用参数扩展来获取第一部分和第二部分:
$ 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/
推荐阅读
- java - 匹配的通配符是严格的,但找不到元素“任务:注释驱动”的声明
- flutter - 让用户保持登录状态
- node.js - 读取当前目录nodejs中的文本文件
- javascript - 如何在浏览器中获取 Google Drive API 应用程序特定数据?
- kivy - 如何为我的 kivy 应用程序做出正确的解决方案?
- c++ - 复杂模板类型名称的别名
- javascript - 在 CSS 中更改选择的颜色
- python - 运行python文件时未找到应用程序错误
- javascript - 如何使用 react-bootstrap table-2 将列中的值显示为链接?
- javascript - 通过js获取当前滚动位置的值