linux如何去掉隐藏文件名前面的点?我有大量的数据文件都是以点开头的隐藏文件,比如”。dataxxxx”。
用find找到一些文件,用-execdir参数逐个处理,但是-execdir后面可以写的命令限制太多。让我们用该文件的内容编写一个脚本:
#!/bin/sh
x = ` basename " $ 1 " ` 0
L= '表达式长度" $X " '
L = ' expr $ L-1 '
D = `expr substr " $ X " 2 $ L '
mv "$X" "$D "
如果使用bash语法处理字符串,上面几行会更简单,为了兼容会使用expr。
(例如,脚本文件是/tmp/nodot.sh)现在运行:
查找-类型f-名称”。* "-execdir/tmp/no dot . sh { } \;
(注意,find命令将处置当前目录下所有子目录中的点文件,并且需要附加参数来限制范围。)