小编给大家分享一下bash高级使用方法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
linux的发布版本之一--Redhat/CentOS--系统默认安装的shell叫做bash,即Bourne Again Shell,它是sh(Bourne Shell)的增强版本。Bourn Shell 是最早行起来的一个shell,创始人叫Steven Bourne,为了纪念他所以叫做Bourn Shell,检称sh.
1. 按时间先后,列出最后的十个目录
ls /mnt/daily/Concord/main -sort -t | awk /_[0-9]+-[0-9]/'{print $NF}' | tail -10/mnt/daily/LotusLive目录内容如下:SC10.0_Docs :dirSC10.0_DocsProxy :dirSC20.0_Docs :dirSC20.0_DocsProxy :dirSC30.0_Docs :dirSC30.0_DocsProxy :dirSC30.16_Docs :dirSC30.16_Viewer :dirtsm_backup :file
2. 递归删除空目录
# $1必须是绝对路径crurl=$1func_hdir(){echo $crurlcd $crurlfor aitem in `ls -l | grep "^d" | awk '{print $9}'`; docrurl=$crurl/$aitemfunc_hdir $aitemdonedirc=`ls $crurl`if [ "$dirc" = "" ]thenecho $crurlrm -rf $crurlficrurl=${crurl%/*}}func_hdir
3. sed删除特定的行
sed -e '/^[ ]*$/d' osgi_file > target_file //删除空行sed -d '/concord/d' osgi_file>target_file//包涵concord的行
4. 输出最新的N个目录
find /mnt/daily/Concord/main -mindepth 1 -maxdepth 1 -type d -printf "%T@%Tx %p" | sort -n -r | head -N
5. 输出最近5天创建的目录
find /mnt/daily/Concord/main -mindepth2 -maxdepth 1 -type d -mtime -5-mtime 最大数是8,超过8就是输出全部
6. sort by 特定列
如当前工作中的应用,以MSG_NODE_%d排序,可用如下命令find . -type f -name envconfs.conf | grep -v "chatroom"| grep "appnodemessagepool"| sort -t '.' -k4find . -type f -name envconfs.conf|grep "appnodemessagepool"|sort -t '/' -k2./com.rcloud.appnodemessagepool.MSG_NODE_3/conf/envconfs.conf./com.rcloud.appnodemessagepool.MSG_NODE_4/conf/envconfs.conf./com.rcloud.appnodemessagepool.MSG_NODE_5/conf/envconfs.conf
以上是“bash高级使用方法有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!