我正在尝试查找包含 *.nef 的文件并将它们移动到找到该文件的文件夹的子目录名称 NEF。
我已开始使用以下命令进行测试,但这始终会复制到我的当前目录,即我的主文件夹。
find testfolder/*.nef -exec mv NEF \;
Run Code Online (Sandbox Code Playgroud)
在 man find 部分我已经阅读了有关 using -execdir,但使用 this 而不是-exec仍然具有相同的结果。
所以问题是:如何将当前找到的目录和 mv 找到的文件动态假定为名为 NEF 的子目录文件夹?(尚不存在)
提前致谢!
我正在尝试获取一个可以重命名和移动视频的脚本。这是我所拥有的:
#!/bin/bash
src="/mnt/Files_Apps/temp/"
dest="/mnt/Files_Apps/TFTP root/"
for file in "$src"*.*; do
newfile="${dest}$(date -r "$file" +"%Y-%m-%d %H %M %S").MOV"
mv "$file" "$newfile"
done
Run Code Online (Sandbox Code Playgroud)
当我调试输出时,我看到:
$ sudo bash -v videorename.sh
date -r "$file" +"%Y-%m-%d %H %M %S"
mv: '/mnt/Files_Apps/temp/IMG_7662.MOV' and '/mnt/Files_Apps/TFTP root/2016- 05-08 11 57 58.MOV' are the same file
date -r "$file" +"%Y-%m-%d %H %M %S"
mv: '/mnt/Files_Apps/temp/IMG_7687.MOV' and '/mnt/Files_Apps/TFTP root/2016- 05-09 16 03 39.MOV' are the same file
date -r "$file" +"%Y-%m-%d %H %M %S"
date -r "$file" +"%Y-%m-%d %H %M …Run Code Online (Sandbox Code Playgroud) 我想知道如何使用mv命令删除文件和/或将其移至垃圾箱?
我知道垃圾箱所在的位置,然后我尝试使用以下命令将其移至垃圾箱:
mv somefile /home/username/.local/share/Trash
Run Code Online (Sandbox Code Playgroud)
这个命令工作正常,但是当我在启动器中打开垃圾箱时它仍然显示为空。我可以使用以下命令在原始位置撤消此已删除文件:
mv /home/username/.local/share/Trash/somefile ~/
Run Code Online (Sandbox Code Playgroud)
但是如果这个位置/home/username/.local/share/Trash不是用于垃圾箱,那么我的文件移动到哪里了?
我知道rm将永久删除文件而不是将其发送到垃圾箱文件夹,并且没有标志man rm可将文件删除到垃圾箱。
#!/bin/bash
# script to find and move files
SOURCE=/DRIVE2/folder/
DESTDIR=/DRIVE/new3/
MOVEFILES=(mpg avi m4v mp4 3gp mpeg MOV)
# this line above is not working, its only reading the first extension
find $SOURCE -type f -name *.$MOVEFILES -print | xargs -i mv -v "{}" $DESTDIR
Run Code Online (Sandbox Code Playgroud)
你们能帮我写 bash 脚本吗?在$MOVEFILES我的脚本的一部分不能正常工作。它只是读取我放在那里的第一个扩展名,即mpg. 其余的都被忽略了。写那行的正确方法是什么?
还可以包含它的目录,让我们说
/DRIVE2/folder1/folder2/folder3/folder4/file.ext移动到/DRIVE/folder3/folder4/file.ext
我正在尝试使用mv命令重命名文件,并且我想在文件名上添加此文件的最后修改日期(使用 YYYYMMDD 格式)并将其移动到其他文件夹。我得到了这样的当前系统日期:
mv /home/user/Desktop/a.txt "/home/user/Desktop/testfolder/$(date +%Y%m%d)-a.txt"
Run Code Online (Sandbox Code Playgroud)
我使用了其他组合,date但我没有得到它。我需要知道是否可以通过命令行直接执行此操作,或者我需要创建一个脚本。
是否有命令行单行程序将文件夹的所有直接子文件夹的所有内容移动到文件夹本身并删除子文件夹(现在为空)?即,消除文件夹层次结构中的一个级别?
为了绝对清楚,应该保留更深的子文件夹结构。
我已经遇到过几次了,我有点失望,这似乎不是 Dolphin 的功能,也不是其他人正在努力解决的问题。
我怀疑这可能必须一分为二,移动子文件夹的内容,然后删除子文件夹。但是,这可能会产生删除空的二级子文件夹的不良副作用。
我可以使用以下命令移动文件:
mv -t /mnt/hdd /home/me/movies/movie1.avi /home/me/movies/movie2.avi
Run Code Online (Sandbox Code Playgroud)
问题是,它根本没有显示任何进展,所以我不知道操作是完成了 1% 还是完成了 80%。
我知道 rsync 能够显示进度。
那么上面命令的 rsync 变体会是什么样子,同时还显示操作的进度呢?
谢谢
我是 linux 新手。我有一个名为“Código”的文件夹,我在编程时保存了所有的 .h 和 .cpp。我想将所述文件夹向上移动一个目录并放入一个名为“Code”的新文件夹中,因此在终端中我输入了以下内容:
mv ./Código ..-Code
Run Code Online (Sandbox Code Playgroud)
当然,我的意思是输入:
mv ./Código ../Code
Run Code Online (Sandbox Code Playgroud)
但是我忘记了我的键盘处于西班牙语模式。现在我的“Código”文件夹不存在。我无法通过对我的文件系统的任何搜索找到它。我尝试 cd-ing 到“..-Code”、“-Code”和“.-Code”,但它不喜欢这样......谁能告诉我我的文件夹到底发生了什么,如果它的内容是可恢复(没有一些磁盘恢复实用程序)?
我已经查看了手册页并进行了一些基本的谷歌搜索,但没有发现任何有用的信息。甚至不确定要谷歌什么......
我是 bash 新手,我试图通过以下方式将目录中的所有文件重命名为其 md5 校验和。
r@r:~g$ sh
$ for F in *; do
> mv "$F" "$(md5sum "$i")"
> done
r@r:~/g$ ls
'd458d56dd4ab8c2b335da66e0bcab924 nRUNO5wt3JRN3pBt.mp4'
Run Code Online (Sandbox Code Playgroud)
我打错字了,如果我没记错的话,这行mv "$F" "$(md5sum "$i")"应该是。mv "$F" "$(md5sum "$F")"现在文件夹中的所有文件都丢失了,只剩下一个。
文件是否被删除或移动到某处?有什么办法可以恢复它们吗?
当我尝试在包含文件“1.png”的文件夹中重现这种情况时,会发生以下情况。
r@r:~/a$ sh
$ for F in *; do
> mv "$F" "$(md5sum "$i")"
> done
md5sum: '': No such file or directory
mv: cannot move '1.png' to '': No such file or directory
Run Code Online (Sandbox Code Playgroud) 我正在尝试将“mv”命令合并到 dockerfile 中。
我只想移动那些具有特定扩展名但名称中没有字符串的文件。
假设 src 目录有 abc.txt、abcu.txt、def.xml、1abc2.txt、mno.txt、pqr.txt,我只想移动 .txt 文件,并且名称中不包含“abc”。因此只有 mno.txt 和 pqr.txt 需要移动。
最好的做法是什么?