我有一个c shell脚本,它有两行,它创建一个目录并将一些文件复制到其中。我的问题如下 - 正在复制的文件看起来像abc.hello
,abc.name
,abc.date
等...我如何剥离abc
并将其复制过来如.hello
,.name
,.date
..等等。我是新手......任何帮助都将不胜感激!
mkdir -p $home_dir$param
cp /usr/share/skel/* $home_dir$param
答案 0 :(得分:1)
您正在寻找类似basename的内容:
例如,在Bash中,您可以获得基本名称,文件后缀如下:
filepath=/my/folder/readme.txt
filename=$(basename "$filepath") # $filename == "readme.txt"
extension="${filename##*.}" # $extension == "txt"
rootname="${filename%.*}" # $rootname == "readme"
附录:
关键点是" basename"。请参阅" man basename"第一页链接到上面。这是另一个应该让事情更清晰的例子:
basename readme.txt .txt # prints "readme"
"基名"是一个标准的* nix命令。它适用于任何外壳;它可以在大多数平台上使用。
展望未来,我强烈建议您不要在csh中编写脚本,如果可以避免的话: