cat
1.将来自文件的内容和标准输入拼接在一起,讲一个stdin和另一个文件组合起来,方法如下:
echo "添加到文件末尾" | cat - file.txt
说明: 上面的代码中, - 被作为stdin文本的文件名.
- cat去除多余的空白行
1.txt内容如下:
printf.sh printf.sh printf.sh printf.sh printf.sh
如果想去除多余的空白行,可以使用下面的命令:
cat -s 1.txt >save.txt
执行上面的内容以后,可以将多余的空白行去除,并且保存到save.txt中.
save.txt内容如下:
printf.sh printf.sh printf.sh printf.sh printf.sh
find
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
find常用的操作如下:
举例1. (查找当前目录下所有的mp4格式结尾的文件)
find ./ -name "*.mp4"
忽略大小写:
find ./ -iname "*.mp4"
-i指 ignore,忽略的意思.
举例2 (查找当前目录下所有的视频格式文件)
find sshuttle/ \( -name "*.mp4" -o -name "*.mkv" -o -name "*.ts" -o -name "*.mp3" \)
说明: -o 参数代表 OR的意思.
需要用括号将匹配的内容连接起来.
举例3(否定参数!)
find可以使用"!"否定参数,例如:
find . ! -name "*.txt"
说明:上述的代码意思是:查找当前目录下不以txt结尾的所有文件.
举例4(基于目录深度的查找)
默认情况下,find会遍历所有的子目录,有的时候,我们并不需要遍历所有的目录,例如我们只想遍历到二级目录:
find . -maxdepth 2 -name "*.txt"
说明: -maxdepth 最大的深度
-minidepth 最小的深度
举例5(删除匹配的文件)
-delete可以用来删除find查找到的匹配文件.
find . -type f -name "*.txt" -delete
说明:删除所有的txt结尾的文件.
举例6(find和exec结合使用)
find和exec结合使用作用很强大:
find . type -f -user root -exec chown ubuntu {} \;
说明:上述代码的意思是,找出当前目录下所有的root用户所管理的文件,并将文件的所有权切换成ubuntu用户;
{}是一个与-exec选项搭档使用的特殊字符串,对于每一个匹配的文件,{]会被替换成相应的文件名.