标签: rename

为什么我不能有同名的文件夹和文件?

我以前从未遇到过这个问题,但由于某种原因,我无法将文件夹重命名为packages/.

这是结构:

root
  -  packages_old/
  -  packages
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 Thunar 重​​命名文件夹时,我收到一条错误消息,指出该文件已存在。同mv

blender iso $ mv packages_old/ packages/
mv: accessing `packages/': Not a directory
Run Code Online (Sandbox Code Playgroud)

为什么我无法重命名我的文件和文件夹以具有相同的名称:

root
  -  packages/
  -  packages
Run Code Online (Sandbox Code Playgroud)

发誓我以前做过这件事。

directory filenames rename files

26
推荐指数
2
解决办法
3万
查看次数

mv: cannot stat shell 脚本中没有这样的文件或目录

我写了一个脚本将一些文件从一个文件夹移动到另一个文件夹,但出现以下错误,我检查了 2 个文件夹并注意到 1 个文件夹有这样的文件,另一个没有这样的文件,但为什么它们都显示“mv无法统计没有这样的文件或目录”

mv: cannot stat `/home/esolve/project/capture/tcp_50x50/dest_folder/194.199.68.165_tcp.folder/data/*': No such file or directory
mv: cannot stat `/home/esolve/project/capture/tcp_50x50/dest_folder/194.42.17.124_tcp.folder/data/*': No such file or directory
mv: cannot stat `/home/esolve/project/capture/tcp_50x50/dest_folder/195.113.161.13_tcp.folder/data/*': No such file or directory
mv: cannot stat `/home/esolve/project/capture/tcp_50x50/dest_folder/203.159.127.3_tcp.folder/data/*': No such file or directory
mv: cannot stat `/home/esolve/project/capture/tcp_50x50/dest_folder/212.199.61.205_tcp.folder/data/*': No such file or directory
mv: cannot stat `/home/esolve/project/capture/tcp_50x50/dest_folder/212.51.218.235_tcp.folder/data/*': No such file or directory
mv: cannot stat `/home/esolve/project/capture/tcp_50x50/dest_folder/213.73.40.105_tcp.folder/data/*': No such file or directory
mv: cannot stat `/home/esolve/project/capture/tcp_50x50/dest_folder/41.225.7.4_tcp.folder/data/*': No such file or directory
mv: cannot stat …
Run Code Online (Sandbox Code Playgroud)

shell rename

25
推荐指数
2
解决办法
18万
查看次数

mv 一个文件而不破坏该文件的符号链接

是否可以 mv不破坏指向该文件的符号链接的文件?我对此的最初回应是否定的,我正在制定一个基于脚本的解决方案,以在移动后立即更改链接,但我想知道其他人是如何解决这个问题的。符号链接的路径和名称是预先知道的,所以理论上我需要做的就是:

  1. 获取链接的目标
  2. mv目标
  3. 重新创建指向新目标的链接
  4. 创建指向新目标的新链接(与原始链接不同,我现在仍想保留)

稍后:

  1. 删除旧链接

1-4 将封装在 bash 脚本中,但我想知道是否有人有更优雅的方法,或者知道我不知道的内置命令或命令。

command-line symlink rename

24
推荐指数
1
解决办法
2万
查看次数

如何将某种类型的所有文件移动(或复制)到 Unix 中的目录中?

我还不是很熟悉grep/find/awk/xargs相当的所有技巧。

我有一些匹配特定模式的文件,比如*.xxx. 这些文件位于某个目录中的随机位置。我怎样才能找到所有这些文件,并将它们移动到我在 Unix 上的主目录中的一个文件夹(可能还不存在)?

grep file-copy rename

24
推荐指数
2
解决办法
6万
查看次数

通过合并目录继续停止移动 (mv) 的最佳方法?

我已经在我的 NAS(基于 Linux)上移动 (mv) 一个相当大的目录,但不得不中断该过程。不是一个普通的 Linux 用户,我虽然我可以继续并稍后合并其余部分。

mv /oldisk/a /newdisk
Run Code Online (Sandbox Code Playgroud)

过程已完成一半,因此 /oldisk/a 的其余部分仍然存在,并且带有已复制文件的 /newdisk/a 已经存在。我不知道已经复制了哪些文件。顺便说一句,在/olddisk/a 下,当然有很多子目录。

将剩余文件移动/合并到 /newdisk/a 的最佳方法是什么?

command-line file-copy rename

24
推荐指数
1
解决办法
1万
查看次数

同时移动文件和更改所有权

在 Linux(Debian、Ubuntu Mint...)上,
是否有任何选项命令或我可以用来将文件传输到另一个用户而无需执行的操作:

sudo mv /home/poney/folderfulloffiles /home/unicorn/
sudo chown -R unicorn:unicorn /home/unicorn/folderfulloffiles
Run Code Online (Sandbox Code Playgroud)

linux rename files chown

24
推荐指数
3
解决办法
2万
查看次数

如何通过删除扩展名来重命名多个文件?

我有许多名为的 tiff 文件:

sw.001.tif
sw.002.tif
...
Run Code Online (Sandbox Code Playgroud)

我想删除.tif每个文件末尾的 。我怎样才能使用rename命令来做到这一点?

rename

22
推荐指数
2
解决办法
5万
查看次数

如何决定 mv 移动到目录而不是替换目录?

说我有一个目录/hello

那我做mv /hello /hello2

我搬进/hello去了/hello2/hello吗?还是我移动/hello/hello2

似乎当我做这样的事情时,我得到的结果不一致。

rename

22
推荐指数
2
解决办法
1万
查看次数

批量重命名(或正确显示)带有特殊字符的文件

我有一堆包含带有特殊字符的文件的目录和子目录,比如这个文件:

robbie@phil:~$ ls test?sktest.txt 
test?sktest.txt
Run Code Online (Sandbox Code Playgroud)

Find 揭示了一个转义序列:

robbie@phil:~$ find test?sktest.txt -ls 
424512 4000 -rwxr--r-x   1 robbie   robbie    4091743 Jan 26 00:34 test\323sktest.txt
Run Code Online (Sandbox Code Playgroud)

我什至可以在控制台上输入他们的名字的唯一原因是因为选项卡完成。这也意味着我可以手动重命名它们(并去除特殊字符)。

我已将 LC_ALL 设置为 UTF-8,这似乎没有帮助(也不是在新外壳上):

robbie@phil:~$ echo $LC_ALL
en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

我正在使用 ssh 从我的 mac 连接到机器。这是一个 Ubuntu 安装:

robbie@phil:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=7.10
DISTRIB_CODENAME=gutsy
DISTRIB_DESCRIPTION="Ubuntu 7.10"
Run Code Online (Sandbox Code Playgroud)

Shell 是 Bash,TERM 设置为 xterm-color。

这些文件已经存在很长一段时间了,它们不是使用 Ubuntu 安装创建的。所以我不知道以前的系统编码设置是什么。

我已经尝试过以下方面的事情:

find . -type f -ls | sed 's/[^a-zA-Z0-9]//g'
Run Code Online (Sandbox Code Playgroud)

但我找不到可以做我想做的一切的解决方案:

  1. 识别所有具有不可显示字符的文件(以上忽略太多)
  2. 对于目录树中的所有文件(递归),执行 mv oldname newname
  3. 可选地,能够将特殊字符(如 ä)音译为 a(不是必需的,但会很棒)

或者

  1. 正确显示所有这些文件(尝试打开它们时应用程序中没有错误)

我有一些零碎的东西,比如遍历所有文件并移动它们,但是识别文件并为 mv 命令正确格式化它们似乎是困难的部分。

任何关于它们为什么不能正确显示或如何“猜测”正确编码的额外信息也是受欢迎的。(我试过 convmv 但它似乎并没有完全按照我的要求做: …

shell ubuntu character-encoding filenames rename

21
推荐指数
1
解决办法
1万
查看次数

如何使用正则表达式重命名大量文件?

我想在 Mac OS X (10.7.2) 上重命名很多文件。我没有rename命令的 perl 包。

我的文件名称类似于“T452-102456-0.png”,我想删除“-0”部分。我知道我可以通过编写自己的 php-cli 脚本来完成此操作,但我想知道一个更简单、更快捷的解决方案。

rename files

20
推荐指数
2
解决办法
3万
查看次数