我过于频繁地更改每天生成的某些文件的位置。问题是我想通过仅添加新的所需字符来更改它们的名称。
我想要的是这样的:
$ mv file.csv /home/user/{something}_backup1
所以我可以看到:
$ ls /home/user
file.csv_backup1
我现在做的事情很简单:
$ mv file.csv /home/user/file.csv_backup1
你可以说“别偷懒,就那样做吧”,问题是真实的文件名大约有 25 个字符,重新输入它们真的很烦人。
过去给出的只是一个例子,它可以是不同的目录或不同的新文本。
顺便说一句,我正在使用 bash shell
答案1
答案2
恕我直言,最简单的路线是使用变量:
a=file.csv; mv "$a" ~user/"$a"_backup
您可以在设置变量和使用变量时利用变量的制表符完成功能。
答案3
在 中bash
,您可以尝试以下操作:
- 类型
mv file1
。 - 按Ctrl-w足够次数即可删除
file1
。 - 按Ctrl-y以粘贴
file1
回来。 - 类型
/home/user/
。 - 按下Ctrl-y即可粘贴
file1
。 - 输入其余部分:
_backup
答案4
您可以在主文件夹(或包含您要移动的文件的文件夹以外的任何文件夹)中制作简单的脚本。脚本将是这样的:
#!/bin/bash
for var in ./*
do
if [ -f "$var" ]
then
mv "$var" /home/user/"$var".backup1
fi
done
- 在您打算从中移动文件的文件夹内运行此脚本,
cd <the directory your files are in>
然后运行此脚本 - 该脚本将移动所有文件
/home/user
并相应地更改名称 - 如果文件名
spaces
没有问题 - 它还将确保仅移动文件而不是目录,这样您就不会收到任何错误消息或意外结果