【发布时间】:2016-08-10 23:14:16
【问题描述】:
我正在制作一个 CSH 脚本,在其中循环浏览目录中的文件名:
foreach i ($INPUTDIR/*)
$i
end
我最终会变成这样:
/dir1/dir2/dir3/dir4/fileNameHead_middle_2016080924
我的问题是,使用 CSH,我如何标记每个路径,首先拆分正斜杠,然后拆分下划线,只收集最后一个标记?
【问题讨论】:
我正在制作一个 CSH 脚本,在其中循环浏览目录中的文件名:
foreach i ($INPUTDIR/*)
$i
end
我最终会变成这样:
/dir1/dir2/dir3/dir4/fileNameHead_middle_2016080924
我的问题是,使用 CSH,我如何标记每个路径,首先拆分正斜杠,然后拆分下划线,只收集最后一个标记?
【问题讨论】:
basename 实用程序删除任何以字符串中最后一个斜杠/字符结尾的前缀(在第一次去除尾部斜杠之后)和后缀(如果给定)。在我的系统上还有一个gbasename,它是 GNU coreutils 的一部分,它的功能基本相同,但多了几个选项。
basename 是 POSIX 的一部分,因此在任何地方都可以安全使用。
【讨论】: