博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
每日一则 Linux Shell命令
阅读量:6979 次
发布时间:2019-06-27

本文共 957 字,大约阅读时间需要 3 分钟。

hot3.png

find . -iname '*.java' -exec wc -l {} \; | sort -n | cut --delimiter=. -f 1 | awk '{s+=$1}END{print s}'

find

.             查询当前目录

-iname              查询文件名,并忽略大小写

'*.java'               涉及到一点点正则,表示查询以".java"结尾的文件

-exec                  后跟command命令,并且以 【{} \;】结束({}与\;中间有空格);{}应该代表的是前面查找的结果

wc -l filename    打印filename文件中的行数

那么下面这行代码的意思就应该是,打印出该目录下每个java文件的代码行数

find . -iname '*.java' -exec wc -l {} \;

接下来:

sort -n            对前面的结果进行排序,按数字进行排序,更多排序规则参见 man sort

cut                  对字符串进行分割,默认分割符TAB,通过--delimiter来指定分割符,-f n 选项打印第n个字符

cut --delimiter=. -f 1

表达的意思是,以 . z作为分割符,并打印出第一个字符

awk是shell中比较强大的一个工具,会在以后专门讲一下

/*********************************************************************************/

字符串首字母大写

echo 'example' | sed -e 's/^\(.\)/\U\1/'

利用sed的查找和替换功能

sed 's/被替换的字符串/新的字符串/g'

其中被替换的字符串和新的字符串可以用正则表达式表示

^\(.\) 表示开头的一个字符并设为 组1 \U\1    \U表示转换为大写字母,\1表示前面找到的 组1

/*********************************************************************************

打印文件第13行的信息

sed -n 13p camus.properties

转载于:https://my.oschina.net/u/2311898/blog/375934

你可能感兴趣的文章
字符串(strlen)
查看>>
利用统计进行中文分词与词性分析
查看>>
db2 import/export tool
查看>>
按列存储的二维数组模版
查看>>
C Data types
查看>>
JS获取本机MAC地址信息
查看>>
戏说 ofbiz 权限组 角色 控制
查看>>
uva11462Age Sort
查看>>
Json 和 Jsonlib 的使用
查看>>
vs2010使用git
查看>>
分享:Thinking in C++ Notes: 动态对象创建
查看>>
Oracle软件的美学变迁
查看>>
Android学习笔记32:滑屏控件ViewPager的使用
查看>>
【原】基本数学公式
查看>>
python的安装和配置
查看>>
ffmpeg常用数据结构一
查看>>
注册表操作
查看>>
java BlockingQueue
查看>>
IIS网站文件结构修改导致服务器重启的解决办法
查看>>
Flex 使DataGrid的某列中的数据可以选中复制
查看>>