整理下常用‘文本处理’方法,帮自己建立一个解决此类问题的‘惯性’,步骤如下:
1.查找 grep
a、普通查找,如查找包含‘dd’的行:grep ’dd‘ dt.tx (提示:-v 不匹配)
b、正则:集合[a-z],排除[^a-z],开始结尾'^/$'等,基本上遵循普通正则规则(http://deerchao.net/tutorials/regex/regex.htm 正则表达式30分钟入门)
2.字符串提取
a、sed [sed 'action',action必须写在''内] http://linux.vbird.org/linux_basic/0330regularex.php#sed
- 功能:新增行、删除行、替换行内字符串
- 新增行(ll | sed '1a hello'),删除行(ll | sed '1,2d'),替换(ll | sed 's/bohan/xiaopang/g')
- 功能:字符内容提取 + 可编程
- 示例
grep "act_store_code" ./wlb-gateway.log.2013-04-09 | awk -F '<' 'res = ""; {for(i=1; i<NF; i++){if($i ~/^order_code>/){t=i+1; res = res " " substr($t,9,20)} if($i ~/^act_store_code>/){t=i+1; res = res " " substr($t,9,6); print res}}}'
2.BEGIN/END设置全局变量
grep "act_store_code" ./wlb-gateway.log.2013-04-09 | awk -F 'act_store_code' 'BEGIN{count=0} {count++} END{print count}'
3.正则表达式
a./正则表达式/:使用通配符的扩展集
注意:必须写在 / / 中间,否则报error:unexpected newline or end of string
b. ~ 匹配正则表达式
如: $ awk '$1 ~/^root/' test 显示test文件第一列中以root开头的行
3.字符截取
a、substr,例:expr substr "hello" 2 2(在awk里面,直接以用函数方式使用,如:substr($t,9,20),未细究)
b、cut,例:echo $PATH | cut -d ':' -f 1 或 echo $PATH | cut -c1-8(-c:每个字符算一位)
c、${},例:str="hello"; echo ${str%e*} 或 str="hello"; echo ${str:2:3},但${"hello":2:2}是错误的
4.辅助命令
a、sort
b、uniq (先排序,再uniq,否则如‘a b a’,直接uniq结果是1:a\1:b\1:a)
5.find
-maxdepth 搜索深度,1=仅当前目录
-type,搜索类型,d=目录,f=文件
-exec,可指定执行命令,如:find . -name 'cei*' ls -l {} \;,末尾必须添加分号
http://www.cnblogs.com/peida/archive/2012/11/14/2769248.html
6.xargs
http://zh.wikipedia.org/wiki/Xargs
它的作用是将参数列表转换成小块分段传递给其他命令,作为命令的输入。如下:在当前目录查找*app,拷贝到admin
find . -name "app*" | xargs -i cp {} /home/admin/
7.查看占据某端口的进程
如:80端口,netstat -tlnp | grep 80
8.快速格式long为date
- 时间戳到日期:date -d @1385637775
- 日期到时间戳:date +'%s'
实例:
1.分析access日志中的某个参数,日志格式如下
_ids=24036252328,35082783349,26188964127,19958196760,20227913682,13339039483,35307696046,21395884635,19398785205,35281581852,3497389366,103
21832189,17599831517,35599869467,19783554337,20137738201&feature_names=promoPrice,promoOtherNeed" 200 304 "http://trade.taobao.com/trade/tr
ade/itemlist/list_bought_items.htm?spm=a1z02.1.5864393.d4912065.drn0Y0&event_submit_do_query=1&action=itemlist%2FQueryAction&user_type=0&_f
mt.q._0.c=I_HAS_NOT_COMMENT&_fmt.q._0.au=ALL&nekot=g%2Cyphgy33wmu2tknjvgu1383890360087&tracelog=mytaobao_daipingjia" "Mozilla/5.0 (compatib
le; MSIE 10.0; Windows NT 6.1; Trident/6.0)"
117.30.219.156 6310 - [08/Nov/2013:14:00:00 +0800] "GET http://show.re.taobao.com/feature_v1.htm?auction_ids=10742949701%2C15142995790%2C20
293050154%2C13523039125%2C17449331778%2C18301552348%2C12831153959%2C16140753495%2C19269241460%2C17295571991%2C17625334117%2C35415756198%2C3
5656272072&_ksTS=1383890399004_138&cb=jsonp139&feature_names=promoName,promoPrice,promoOtherNeed,coinTips&from=taobao_search&t=138389039900
3" 200 453 "http://s.taobao.com/search?initiative_id=staobaoz_20131108&jc=1&q=%D4%CB%B6%AF%BF%E3%CA%D5%BF%DA%C4%E1%CB%BF%B7%C4&stats_click=
search_radio_all%3A1" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1"
cat /home/a/logs/tengine/show.re.taobao.com-access_2013110715 | grep "promoPrice" | grep -o 'auction_ids=[^& "]*' | cut -d = -f 2 | grep '%2C' -v > f1
------- 分割线 【临时记录】-------
1.批量解压文件
for tgzfile in saber{}.cm3/*.tar.gz; do tar -xvf $tgzfile -C saber{}.cm3/; done
2.批量copy文件
echo {1..4} | sed 's/ /\n/g'| xargs -t -L 1 -I {} scp bohan.sj@saber{}.cm3:/home/a/project/output/logs/saber/output/*.log.2014-04-19.* ./saber_logs/saber{}.cm3/
3.批量创建目录
mkdir home/saber{1..3}.cm6
4.在命令行下:跳到行首 ctrl+a,跳到行尾 ctrl+e
--- 临时命令 ---
1.查看磁盘空间
du:查看当前目录个文件夹大小
df:查看整个文件系统的磁盘空间占用情况,是以挂载点为粒度
2.yum
yum list :列出所有包(包括已安装和未安装的包)
yum list installed:列出已安装包
yum install / remove:安装或卸载
相关推荐
04.1.1 Linux常用命令-文件处理命令-命令格式与目录处理命令ls.mp4 04.1.2 Linux常用命令-文件处理命令-目录处理命令.mp4 04.1.3 Linux常用命令-文件处理命令-文件处理命令.mp4 04.1.4 Linux常用命令-文件处理...
Linux常用命令之文件处理.xmind
### Linux常用命令详解 #### 一、文件管理 1. **ls**:此命令用于列出当前目录中的文件和子目录。通过使用不同的选项,可以改变其输出格式。 - `-l`:使用长格式列表输出,包括文件权限、拥有者、组、大小等详细...
本资源“Linux 常用C函数(中文版)”旨在帮助程序员理解和掌握在Linux环境下C语言编程的一些核心函数。这些函数涵盖了输入输出、字符串处理、内存操作、数学运算、文件操作等多个方面,对于提升Linux下的C语言编程...
### Linux常用命令详解知识点 #### 一、命令格式与通配符 - **命令格式**: - **命令**:指定要执行的操作。 - **选项**:改变命令的行为方式,通常以`-`开头,多个选项可以用空格或直接连接的方式给出。 - **...
本资源“Linux常用C函数(中文版)”提供了一份详细的C函数参考,涵盖了在Linux环境下编程时经常会遇到的一些关键函数。这些函数是C语言标准库的一部分,同时也是Linux系统调用的基础。下面,我们将深入探讨一些重要...
本篇主要介绍Linux中的常用命令和系统管理,帮助用户更好地理解和掌握这一强大的操作系统。 1. **文件目录基本操作** - `cd`: 改变当前工作目录,例如`cd /home/user`进入用户主目录。 - `ls`: 列出目录内容,如`...
本资源“linux常用c函数中文版”提供了一套详细的C语言函数库,特别针对Linux环境进行了优化和注解,帮助开发者更好地理解和使用这些函数。下面我们将深入探讨一些常见的Linux C函数以及它们在编程中的应用。 1. **...
CHM文件中的“Linux常用命令文档”应该详细介绍了这些命令的用法、参数以及实例,对于学习和日常工作中查找帮助非常有用。通过深入学习和实践这些命令,你将能够更加熟练地在Linux环境中工作,提高效率并解决各种...
本手册“Linux常用系统调用手册”是了解和学习Linux系统调用的重要资源,它提供了全面且直观的中文说明,方便快速查阅。 Linux系统调用是操作系统与用户程序之间的桥梁,它们提供了操作系统服务的标准化入口。例如...
这本"Linux常用命令集"电子书,提供了一个全面的指南,涵盖了新手到高级用户都需要了解的各种命令。以下是一些重要的Linux命令及其应用: 1. **ls**:用于列出目录内容,通过参数 `-l` 可以以详细格式显示,`-a` ...
以上只是部分常见函数的简述,实际的“Linux常用C函数大全”文档会包含更多细节,例如参数说明、返回值、错误处理等。学习和掌握这些函数,将极大地提高你在Linux环境中编写C程序的能力和效率。同时,理解C语言的...
【Linux常用命令使用技巧PPT】的实验主要涵盖了Linux操作系统中的基本操作和常用命令的使用。这个实验旨在帮助用户熟练掌握Linux系统中的不同用户登录方式,熟悉常用命令的使用方法,以及理解命令中参数选项的功能。...
本资源“Linux常用命令全集”提供了一个全面且实用的参考指南,旨在帮助用户快速查找并理解常用的Linux命令。 1. **Linux命令基础** - **ls**:列出目录内容,常用选项如 `-l` 以详细格式显示,`-a` 显示所有文件...
本压缩包"Linux常用命令-API手册.zip"包含了两个重要的参考资料:"Linux基础命令教程豪华版.chm"和"Linux常用命令大全.chm",它们为用户提供详尽的Linux命令学习指南。 "Linux基础命令教程豪华版.chm"可能是对Linux...
### Linux常用命令精讲 #### 登录与退出 在Linux环境中,系统启动后,首先进入的是登录界面,用户需要通过`login`命令输入用户名和密码进行登录。正确的用户名和密码验证后,用户将被引导至Linux的命令行界面,即...
Linux必学60个命令 Linux系统信息存放在文件里,文件与普通的公务文件类似。每个文件都有自己的名字、内容、存放地址及其它一些管理信息,如文件的用户、文件的大小等。...这里主要介绍常用的文件处理命令。
Linux文件的复制、删除和移动命令 Linux目录的创建与删除命令 Linux文本处理命令 Linux备份与压缩命令 在Linux环境下运行DOS命令 Linux与用户有关的命令 Linux系统管理命令 Linux磁盘管理