我想这个问题首先必须从您的评论中学习,然后才能发展成为一个成熟的问题。
这是一个棘手的情况:我有一个包含许多文件(pdf)的文件夹目标,不幸的是,它们具有相同的最近时间戳(上次更改文件的日期)。然而,这些时间戳是错误的,它们仅仅反映了复制的日期。我还有一个备份文件夹(源),其中包含其中一些文件及其较旧的时间戳。
现在,我希望目标文件夹上有旧时间戳,前提是目标文件和源文件在其他方面相同。
如何修复目标中比源中的同一文件更年轻的文件的元数据?
我想这个问题首先必须从您的评论中学习,然后才能发展成为一个成熟的问题。
这是一个棘手的情况:我有一个包含许多文件(pdf)的文件夹目标,不幸的是,它们具有相同的最近时间戳(上次更改文件的日期)。然而,这些时间戳是错误的,它们仅仅反映了复制的日期。我还有一个备份文件夹(源),其中包含其中一些文件及其较旧的时间戳。
现在,我希望目标文件夹上有旧时间戳,前提是目标文件和源文件在其他方面相同。
如何修复目标中比源中的同一文件更年轻的文件的元数据?
我正在尝试istioctl
在 Debian 上的主目录中复制命令 (),以便我始终可以使用它,因为它将自动添加到我的 PATH 变量中。
我试过(“link1”是指向包含 istioctl 的硬盘的符号链接):
TestUser@ComputerName:~$ cp ~/link1/istio-1.12.2/bin/istioctl ~/cmd
和
TestUser@ComputerName:~$ cp ~/link1/istio-1.12.2/bin/istioctl ~/bin
~
在此之前两个目录都不存在。至少ll
并ls
没有向他们展示。
但这就是我得到的:
TestUser@ComputerName:~$ ll ~
total 171856
-rwxr-xr-x 1 TestUser users 87990272 Jan 24 19:47 bin
-rwxr-xr-x 1 TestUser users 87990272 Jan 24 19:50 cmd
lrwxrwxrwx 1 TestUser users 38 Jan 13 18:16 link1 -> /some/path1
lrwxrwxrwx 1 TestUser users 39 Jan 13 18:10 link2 -> /some/path2
lrwxrwxrwx 1 TestUser users 38 Jan 13 18:17 link3 -> /some/path3
lrwxrwxrwx 1 TestUser users 38 Jan 13 18:15 link4 -> /some/path4
lrwxrwxrwx 1 TestUser users 38 Jan 13 18:15 link5 -> /some/path5
TestUser@ComputerName:~$
TestUser@ComputerName:~$ ll ~/bin
-rwxr-xr-x 1 TestUser users 87990272 Jan 24 19:47 /home/TestUser/bin
TestUser@ComputerName:~$
TestUser@ComputerName:~$ ll ~/cmd
-rwxr-xr-x 1 TestUser users 87990272 Jan 24 19:50 /home/TestUser/cmd
我不明白为什么cmd
andbin
文件夹会以这种方式运行,以及为什么它们不包含该文件。
也试过root
:
root@ComputerName:~# cp ~/link1/istio-1.12.2/bin/istioctl /home/TestUser/bin
一样。
我是第一次发帖和编码新手:
我需要将一个文件复制ING_30.tif
到 100 个文件夹中,所以我希望使用终端命令来快速完成此操作。
ING_30.tif
和我需要将其复制到的文件夹都在同一个父文件夹中,ING/
.ING_30.tif
到 中的每个文件夹ING/
,只复制以(例如)ING/
开头的文件夹。AST
AST_1113054
AST*
文件夹中已经有我不想删除的其他文件。帮助将不胜感激。我在网上找到了将文件复制到多个文件夹中的帖子,但没有找到让我指定我只想复制到AST*
文件夹中的代码。我还看到一些命令复制了文件,但删除了文件夹中已有的文件,我需要避免这种情况。谢谢!
我正在使用以下rsync
包含“更新”选项的命令,这意味着它将跳过接收器上较新的文件。它可以工作,只是我需要它来告诉我跳过的文件,因为它们在接收器上较新。
rsync -ahHX --delete --itemize-changes --stats --update /path/to/source/ --exclude=/dir1/ --exclude=/dir2/ --exclude=/dir3/ /path/to/receiver/
我已经查看了手册页,但没有看到这样的选项。我希望我只是错过了它或不明白一些东西。
如果 rsync 不会这样做,我还可以使用哪些其他工具?我试过diff -rqw /path/to/source/ /path/to/receiver/
了,但这需要的时间太长了。它做的比我需要的要多。
71,835 个文件的总文件大小为 24.60 GB。
我有几个音频设备(汽车收音机、便携式收音机、MP3 播放器),它们使用 SD 卡和带有 FAT 文件系统的 USB 记忆棒。由于这些设备的智能有限,它们不会按名称对 FAT FS 上的文件名进行排序,而只是按照它们被复制到 SD 卡的顺序播放它们。
在 MS DOS 和 MS Windows 中,这不是问题。使用一个简单的实用程序按字母顺序对文件进行排序,然后按该顺序复制它们就可以了。但是,在 Linux 上,从 ext4 文件系统复制的文件不会以与读取和复制它们的顺序相同的顺序在 FAT FS 上结束,大概是因为有一种缓冲机制可以提高效率,但不会过于担心文件最终在目标设备上的物理顺序。
我也尝试在 Virtual Box VM 中使用 Windows,但最终文件的写入顺序与从 Linux 文件系统中读取的顺序不同。
有没有办法(除了手动复制它们并等待所有写入缓冲区被刷新)来确保文件按照从 ext4 文件系统中读取的顺序最终出现在 FAT SD 目标上?
我需要从多个目录中复制一个特定的命名文件,并且需要在文件前缀中按顺序添加数字。例如,我有以下目录,gene1, gene2, gene3 ..... gene100
每个目录都有一个文件,即protein.fasta
. 我需要protein.fasta
从每个目录中复制所有文件并粘贴到另一个目录中,即输出。我尝试了以下脚本,但该脚本不符合我的目的,它只复制和粘贴一个文件,其余文件没有被复制和重命名,最终出现错误。请帮助我做同样的事情。
a=1
for i in **/protein.fasta
do
cp "$i" "$a"_"$i" output/
a=`expr $a + 1`
done
下面给出了详细的示例和预期的输出,目录
gene1, gene2, gene3....gene100
要从每个文件中提取的文件是protein.fasta
output
目录中的预期输出
1_protein.fasta
2_protein.fasta
3_protein.fasta
.
.
100_protein.fasta
先感谢您。