这个案子需要一些帮助。(Sed或Awk)

这个案子需要一些帮助。(Sed或Awk),awk,sed,Awk,Sed,我有一些像绳子一样的东西 ./os/example-ubuntu-14.04" 我想保持联系 example-ubuntu-14.04 删除“/os/”。 我可以使用sed或awk来处理这个案例吗 谢谢你可以试试 echo "./os/example-ubuntu-14.04" | cut -c 6- example-ubuntu-14.04 这将基本上删除字符串开头的前6个字符您要查找的操作是通过basename实用程序实现的。虽然可以使用sed/cut,但这些工具更通用,可以覆盖任何文

我有一些像绳子一样的东西

./os/example-ubuntu-14.04"
我想保持联系

example-ubuntu-14.04
删除“/os/”。 我可以使用sed或awk来处理这个案例吗

谢谢

你可以试试

echo "./os/example-ubuntu-14.04" | cut -c 6-
example-ubuntu-14.04

这将基本上删除字符串开头的前6个字符

您要查找的操作是通过
basename
实用程序实现的。虽然可以使用sed/cut,但这些工具更通用,可以覆盖任何文件名

basename "./os/example-ubuntu-14.04"
假设您正在编写一些shell脚本,则可以使用内置功能

P="./os/example-ubuntu-14.04"
echo ${P##*/}

它将删除任何内容,直到最后一个“/”sed成为作业的工具。只需使用正常的替换形式,找到行并将
/os/
替换为零。(例如,
sed's:./os/::'
)它的“find.-type l-ls”命令输出如下18883442 0 lrwxrwx 1 xxx xxx 20 Th11 13 11:44./os/sample-ubuntu-14.04->sameple2-ubuntu-14.04它可以使用(sed's:./os/:'))非常感谢你much@DavidRankin-如果您将字符串存储在变量中,例如“str”,则可以说
${str}*/}