Ubuntu批量操作文件
Posted grainrain
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu批量操作文件相关的知识,希望对你有一定的参考价值。
1. 批量重命名文件为数字编号
进入所需要重命名的数据集的文件夹,在终端运行
$ i=k; for x in ./*; do mv $x $i.mp4; let i=i+1; done # ‘k‘ is the start number you want, such as 1 or 1000; ‘./*‘ referes to all files, ‘*‘ may cause error
$ i=k; for x in */xx/*; do mv $x $i.mp4; let i=i+1; done # rename all files in directory ‘xx‘ of each folder of current directory
若文件名等处有空格字符,在terminal中要输入完整文件名时要用‘ ‘表示空格‘ ‘,即要转义,否则将表示两个参数;并且文件名最好用ls看一下,得到的才是真正的,如文件管理器中看到文件名为Down load,用ls看到文件名为’Down load’,因为Terminal中空格作为有含义的字符需要转译
若文件名里面含有空格等,又希望用命令操作文件,可以使用IFS(Internal Field Seprator) ,内部域分隔符变量,值默认是 space, tab, newline ,用于拆解读入的变量,对command中的特殊字符进行处理,最后重新组合赋值给该变量。只需要重置该变量,用完以后记得还原变量。
$ IFS_old=$IFS
$ IFS=$‘ ‘
$ i=k; for x in ./*; do mv $x $i.mp4; let i=i+1; done
$ IFS=$IFS_old
2. 修改所有文件的所有者
$ (sudo) chown user ./* # use sudo if the original owner is root
以上是关于Ubuntu批量操作文件的主要内容,如果未能解决你的问题,请参考以下文章
markdown 在Intel Nuc上设置Ubuntu Web服务器,步骤和代码片段
应用程序启动器 “sublime_text.desktop“ 还没有被标记为 信任。如果您不知道这个文件的来源,那么启动它可能会不安全。解决sublime在ubuntu中不支持中文输入问题。(代码片段