我有一个文件(称为list.txt),其中包含文件的相对路径,每行一个路径,也就是这样:
foo/bar/file1 foo/bar/baz/file2 goo/file3
我需要编写一个bash脚本,一次处理一个路径,将其分割为最后一个斜杠,然后启动另一个进程,将两个路径作为参数。到目前为止,我只有循环的部分:
for p in `cat list.txt` do # split $p like "foo/bar/file1" into "foo/bar/" as part1 and "file1" as part2 inner_process.sh $part1 $part2 done
我如何分裂?当路径没有斜线的时候,这个工作在退化的情况下吗?
谢谢
使用basename和dirname,这就是你需要的。
part1=`dirname $p` part2=`basename $p`