shell 如何删除每一行中的字符串部分[关闭]

vmdwslir  于 2023-08-07  发布在  Shell
关注(0)|答案(2)|浏览(98)

已关闭。此问题需要details or clarity。它目前不接受回答。
**希望改进此问题?**通过editing this post添加详细信息并阐明问题。

25天前关闭。
Improve this question
我正在使用sed来过滤和更正文件列表中的字符串。我有一个排序文件列表,我想删除每行字符串的一部分。为了完成这个任务,我使用了带有sed的解决方案,但是没有结果。这是一个字符串示例。我必须删除它???我有一个mac osx,与brew安装,使用bash的脚本,但没有结果,谢谢

92vpleto

92vpleto1#

编辑

  • 为第一个脚本道歉,我忽略了你在MacOS下的事实。该脚本已在Linux Debian 11下使用posix模式下的GNU SED进行了更新和测试,以及在MacOS莫哈韦下进行了测试,因此这次它应该可以在您的终端上正常工作。

假设您想要删除包含文件夹(倒数第二个路径组件)中的-it*后缀,则命令:

echo 'arinare-naturale-sexy-e-p0rchissima-f-it63s1vg0/index.htmli' | sed -e 's/-it[^-/]\{1,\}\(\/[^/\]*\)$/\1/'

字符串
生成以下输出:

arinare-naturale-sexy-e-p0rchissima-f/index.htmli


希望能帮上忙。

wj8zmpe1

wj8zmpe12#

脚本sed的结果是错误的。我的结果是这台iMac:桌面oscarristolfi$ echo 'arinare-naturale-sexy-e-p0 rchissima-f-it 63 s1 vg 0/index.htmli'| sed -e 's/-it[^-]+(/[^/]+)$/\1/' arinare-naturale-sexy-e-p0rchissima-f-it63s1vg0/index.htmli iMac:Desktop oscarristolfi$
不会移除-它???????
为什麽?

相关问题