我喜欢使用以下命令来打印文件名,但它会打印带有扩展名的文件名。
find . -type f -printf '%f\n'
Run Code Online (Sandbox Code Playgroud)
在我的目录中,有许多具有不同扩展名的文件。我尝试--ignore='*.*'
在 before 和 after 中添加-printf
,但没有用。例子; 我有文件 myfile1.txt、myfile2.mp3 等。我需要它打印 myfile1、myfile2 等。我该怎么做?
我正在 MobaXterm 上的 Linux 中使用 rclone 将一些大型数据集复制到谷歌驱动器。首先,我使用复制数据集;
-cpu:~$ nohup rclone copy /path_to_source/. /path_to_destination &
Run Code Online (Sandbox Code Playgroud)
复制完成后,我使用同步来确保所有内容都被复制;
-cpu:~$ nohup rclone sync /path_to_source/. /path_to_destination &
Run Code Online (Sandbox Code Playgroud)
现在,当使用检查作业状态时;
ps -ef | grep rclone
Run Code Online (Sandbox Code Playgroud)
对于其中一项工作,它给予;
[3]+ Exit 1 nohup rclone sync /path_to_source/. /path_to_destination &
Run Code Online (Sandbox Code Playgroud)
我期待看到“完成”而不是“退出 1”。这是什么意思?这是否意味着同步不成功?如果是这样,原因是什么?
我在终端文件夹中有名为“data”的文件夹。data 中的某些文件名中包含“,”。我可以通过以下方式列出它们
$ cd data
$ ls -i |grep -E '\,'
Run Code Online (Sandbox Code Playgroud)
但我不知道如何从这些文件名中删除“,”。根据我的研究,我尝试了类似的方法grep -E '\,' | sed ','
,但没有成功。如果我无法从文件文件名中删除逗号,我愿意删除这些文件,但我无法在终端文件夹上或使用 rm 的命令行删除它们(它说没有这样的文件或目录)。
以前我问过一个非常相似的问题,但它只是针对一个子目录将子目录中的文件写入 csv 文件并将其保存到 linux 命令行中的父目录。我有一个名为“dir”的目录,其中有 5 个子目录,sub1、sub2、..sub5。每个子目录中有许多文件。我想将所有子目录中的文件列表写入 CSV 文件,并使用 linux 上的命令行将其保存到“dir”目录中。我的代码做到了这一点,除了我只想要文件名(name1、name2 等)但它用路径(./sub1/name1、./sub1/name2 等)写入完整的文件名。我在 dir 文件夹中使用的命令行是;
dir$ find . -type f > names.csv
Run Code Online (Sandbox Code Playgroud)