我想为以下逻辑编写一个程序:
- 获取文件夹中文件的名称
- 对于每个文件:
- 打印文件名
- 将文件移动到另一个新文件夹(名称
dd_mm_yy
格式相同)
答案1
要从完整路径获取文件名,您可以使用基本名称:
$ basename /home/cuonglm/test.pl
test.pl
所以你可以这样做:
for f in *; do
filename="$(basename -- "$f")"
# Do sftuff here
done
答案2
你的问题不清楚。我假设您希望目标文件名是文件的修改时间,并且您不关心文件的原始名称。如有错误请指正。
bash 脚本。用法:./script.sh original_dir dest_dir
#!/bin/bash
find "$1" -maxdepth 1 -exec bash -c '
echo "$1"
export LANG=C
name=$(stat -c "%y" . | sed -r "s/..(..)-(..)-(..).*/\3-\2-\1/")
mv -iT $0 '"$1"'/"$name"' "{}" \;