shell awk含关键字的行,并对内容进行转换大写以及排序输出

本文介绍了如何在Linux环境中利用shell和awk命令来查找包含特定关键字(Sparklet或sparklet)的行,并将这些行的内容转换为大写,最后进行排序。操作中涉及到创建文件homework2,以及处理Readme.txt文件,通过cat -n命令实现筛选后的行号排序。

1.新建一个文件,文件名为homework2,并输入下面内容

    其中varchar1、varchar2分别为两个关键词(区别在于S的大小写)

varnum是计算序号,Readme.txt为要操作的文件 (在文章最后给出)

##First Idea
varchar1="Sparklet"
varchar2="sparklet"
varnum=1
cat Readme.txt | while read line
 do
   if [[ ${line} =~ ${varchar1} || ${line} =~ ${varchar2} ]]
   then
    ##typeset -u ${line}
     echo "${varnum}.    ${line}" | tr 'a-z' 'A-Z'
     let varnum=varnum+1
   fi
 done

结果如图:


2.使用awk 达到以上效果,代码如下:

其中/Sparklet|sparklet/为关键字  cat -n对筛选出来的内容进行排序

##Second Idea
cat Readme.txt | awk '/Sparklet|sparklet/{print $0} ' | tr a-z A-Z | cat -n

结果如图:


3.Readme.txt的文件内容如下(注意:以上所有操作均在同一目录下)

1. 	SFTP SparkletStage.tar.gz into path 
	/home/etlbat/SparkletStage.tar.gz

2.	Enter into the path where tar file locates via user "etlbat"
	cd /home/etlbat

3. 	Unzip the tar file
	tar zxvf SparkletStage.tar.gz

4. 	Check if the  folder appear or not
	ls /home/etlbat

	list result should be something like below:

	[etlbat@BI/home/etlbat$]ll
	total 39848
	drwxrwxr-x. 22 etlbat etlbat     4096 Apr  3 08:38 alluxio
	drwxrwxr-x   2 etlbat etlbat     4096 Apr  3 11:26 Font-smartbi
	drwxrwxr-x.  8 etlbat etlbat     4096 Apr  3 08:39 hive
	drwxrwxr-x   2 etlbat etlbat     4096 Apr  4 03:28 Index-smartbi
	drwxrwxr-x.  3 etlbat etlbat     4096 Apr 10 01:59 nfs
	-rw-rw-r--   1 etlbat etlbat      559 Apr  5 00:21 readme.txt
	-rwxrwxr-x   1 etlbat etlbat      248 Apr  3 14:20 restart_smartbi.sh
	drwxrwxr-x.  9 etlbat etlbat     4096 Apr  3 08:40 scala
	-rw-rw-r--   1 etlbat etlbat     1990 Apr  3 10:46 smartbi-config.xml
	-rw-rw-r--   1 etlbat etlbat    18821 Apr  3 11:25 Smartbi-License.xml
	-rw-rw-r--   1 etlbat etlbat  1064801 Apr  4 03:31 smartbi.log
	-rw-rw-r--   1 etlbat etlbat      202 Apr  3 11:27 smartbi.properties
	drwxrwxr-x. 38 etlbat etlbat     4096 Apr  3 08:42 spark
	drwxrwxr-x   8 etlbat etlbat     4096 Apr 10 07:52 SparkletStage    <<<<<<<<<=======================================
	-rw-rw-r--   1 etlbat etlbat 39658072 Apr 10 07:54 SparkletStage.tar.gz
	-rwxrwxr-x   1 etlbat etlbat      757 Apr  3 14:28 startup.me
	drwxr-xr-x   9 etlbat etlbat     4096 Apr  3 10:44 tomcat-smartbi


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值