6个你可能不知道的bash 小秘笈

Posted Linux就该这么学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6个你可能不知道的bash 小秘笈相关的知识,希望对你有一定的参考价值。

纯手工打造每一篇开源资讯与技术干货,数十万程序员和Linuxer已经关注

导读

bash 是一个为GNU计划编写的Unix shell。它的名字是一系列缩写:Bourne-Again SHell — 这是关于Bourne shell(sh)的一个双关语(Bourne again / born again)。bash我们很常用,但是更高级的用法你知道吗?看完下面的示例,你一定会有启发的。

6个你可能不知道的bash 小秘笈

1

 按时间先后,列出最后的十个目录


ls /mnt/daily/Concord/main -sort -t | awk /_[0-9]+-[0-9]/'{print $NF}' | tail -10
/mnt/daily/LotusLive目录内容如下:
SC10.0_Docs :dir
SC10.0_DocsProxy :dir
SC20.0_Docs :dir
SC20.0_DocsProxy :dir
SC30.0_Docs :dir
SC30.0_DocsProxy :dir
SC30.16_Docs :dir
SC30.16_Viewer :dir
tsm_backup :file

2

 递归删除空目录


# $1必须是绝对路径
crurl=$1
func_hdir(){
echo $crurl
cd $crurl
for aitem in `ls -l | grep "^d" | awk '{print $9}'`; do
crurl=$crurl/$aitem
func_hdir $aitem
done

dirc=`ls $crurl`
if [ "$dirc" = "" ]
then
echo $crurl
rm -rf $crurl
fi
crurl=${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 -mindepth1 -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 '.' -k4
find . -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

原文来自:


让您学习到的每一节课都有所收获

《Linux就该这么学》是由资深运维专家刘遄及全国多名红帽架构师(RHCA)基于最新RHEL7系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材。

刘遄老师QQ:5604241

学员助教QQ:5604674

Linux技术交流A群():560843

Linux技术交流B群:340829

Linux技术交流C群:463590

官方站点:www.linuxprobe.com

☀ 电脑在线阅读效果更佳:

http://www.linuxprobe.com/chapter-00.html

按住图片3秒,即可自动关注。

点击左下角查看更多热门技术

以上是关于6个你可能不知道的bash 小秘笈的主要内容,如果未能解决你的问题,请参考以下文章

10 个你可能还不知道 VS Code 使用技巧(超实用!)

10 个你有可能不知道的Android Studio技巧

10 个你有可能不知道的Android Studio技巧

14 个你可能不知道的 JavaScript 调试技巧

分享5个你不知道的软件测试小神器(赶紧收藏起来)

几个你所不知道的技巧助你写出更优雅的vue.js代码