Linux每日智囊

Linux每日智囊_第1张图片

每日分享三个Linux命令,悄悄培养读者的Linux技能。

rename

作用

批量修改文件名称

rename命令能够基于正则表达式对文件名进行批量修改

语法

rename [option] expression replacement file

expression:文件命中需要替换的字符串

replacement:将文件名中指定原字符串替换为目标字符串

file: 指定要改变文件名的文件列表

参数:

  • -f:强制修改文件名称
  • -n:模拟运行,实际命令没进行重命名
  • -v:输出命令执行详细信息

通配符:

  • ?:可替代单个字符
  • *:可替代多个字符
  • .:匹配除换行字符以外的任意字符
  • +:匹配一个字符一次或者多次

案例

  1. 将txt替换为doc
rename txt doc test.txt
  1. 将test改成test0,然后将test0改成test00

创建文件

touch test{1..5}
rename test test0 test?
rename test0 test00 test*

basename

作用

从文件路径中提取文件名

语法

basename OPTION NAME

参数:

  • -a:处理多个文件
  • -s删除指定后缀

案例

  1. 提取文件名
basename /home/test/dir
basename /home/test/dir/

注:提取文件名会删除后面的“/”。

  1. 提取多个文件名
basename -a /home/test /home/test/dir
  1. 删除指定后缀
basename /home/test.txt .txt
basename -s .txt /home/test.txt

两段命令功能相同。

dirname

作用

去除文件名的非目录部分

语法

dirname [OPITION] NAME

案例

  1. 提取文件路径
dirname /home/test/file.txt

  1. 提取目录的路径
dirname /home/test/file/

参考

[1] 解锁Linux之谜:自由、安全、强大的操作系统

[2] Linux每日智囊-“man,cd,pwd”

[3] Linux每日智囊-“info,tree,stat”

[4] Linux每日智囊-“whatis,touch,which”

[5] Linux每日智囊-“mkdir,rmdir,rm”

[6] Linux每日智囊-“ls,wc,nl”

[7] Linux每日智囊-“mv,cp,md5sum”

你可能感兴趣的:(Linux学习,linux,运维,服务器)