linux 命令
1 sed
在文件首添加dxm sed 's/^/dxm&/g' **.txt
在文件未添加dxm sed 's/$/dxm&/g' **.txt
删除空行 sed '/^$/d' **.txt
删除第一行到第10行 sed '1,10d' **.txt
删除最后一行 sed '$d' **.txt
这个命令以前竟然没有用过。。。额,记录一下先
元比较操作符,比较变量或者比较数字.注意数字与字符串的区别.
整数比较
-eq 等于,如:if [ "$a" -eq "$b" ]
-ne 不等于,如:if [ "$a" -ne "$b" ]
-gt 大于,如:if [ "$a" -gt "$b" ]
-ge 大于等于,如:if [ "$a" -ge "$b" ]
-lt 小于,如:if [ "$a" -lt "$b" ]
-le 小于等于,如:if [ "$a" -le "$b" ]
< 小于(需要双括号),如:(("$a" < "$b"))
<= 小于等于(需要双括号),如:(("$a" <= "$b"))
> 大于(需要双括号),如:(("$a" > "$b"))
>= 大于等于(需要双括号),如:(("$a" >= "$b"))
小数据比较可使用AWK
字符串比较
= 等于,如:if [ "$a" = "$b" ]
== 等于,如:if [ "$a" == "$b" ],与=等价
注意:==的功能在[[]]和[]中的行为是不同的,如下:
1 [[ $a == z* ]] # 如果$a以"z"开头(模式匹配)那么将为true
2 [[ $a == "z*" ]] # 如果$a等于z*(字符匹配),那么结果为true
3
4 [ $a == z* ] # File globbing 和word splitting将会发生
5 [ "$a" == "z*" ] # 如果$a等于z*(字符匹配),那么结果为true
一点解释,关于File globbing是一种关于文件的速记法,比如"*.c"就是,再如~也是.
但是file globbing并不是严格的正则表达式,虽然绝大多数情况下结构比较像.
!= 不等于,如:if [ "$a" != "$b" ]
这个操作符将在[[]]结构中使用模式匹配.
< 小于,在ASCII字母顺序下.如:
if [[ "$a" < "$b" ]]
if [ "$a" \< "$b" ]
注意:在[]结构中"<"需要被转义.
> 大于,在ASCII字母顺序下.如:
if [[ "$a" > "$b" ]]
if [ "$a" \> "$b" ]
注意:在[]结构中">"需要被转义.
具体参考Example 26-11来查看这个操作符应用的例子.
-z 字符串为"null".就是长度为0.
-n 字符串不为"null"
注意:
使用-n在[]结构中测试必须要用""把变量引起来.使用一个未被""的字符串来使用! -z
或者就是未用""引用的字符串本身,放到[]结构中。虽然一般情况下可
如何把不包含某个字符串的行取出来?
a.txt文件如下:
1|1|6022|10000|||0|||
2|1|60233|1600|||0|||OK|
3|1|6022|2000|||0|||
4|1|6022|200|||0|||
用 cat a.txt | grep "|OK|" > b.txt 可以把含有OK的行输出到b.txt
现在我想把不含OK的行输出到另外的文件,请问该怎么做?
awk ‘{if(/OK/) print > "b.txt";else print > "c.txt"}’ a.txt
sed -n ‘/OK/wa
/OK/!wb’ 数据文件
grep ‘OK’ >a
grep -v ‘OK’ >b
shell字符串的处理
截取;
shell字符串的截取的问题:
一、Linux shell 截取字符变量的前8位,有方法如下:
1.expr substr “$a” 1 8
2.echo $a|awk ‘{print substr(,1,8)}’
3.echo $a|cut -c1-8
4.echo $
5.expr $a : ‘\(.\\).*’
6.echo $a|dd bs=1 count=8 2>/dev/null
二、按指定的字符串截取
1、第一种方法:
${varible##*string} 从左向右截取最后一个string后的字符串
${varible#*string}从左向右截取第一个string后的字符串
${varible%%string*}从右向左截取最后一个string后的字符串
${varible%string*}从右向左截取第一个string后的字符串
“*”只是一个通配符可以不要
例子:
$ MYVAR=foodforthought.jpg
$ echo ${MYVAR##*fo}
rthought.jpg
$ echo ${MYVAR#*fo}
odforthought.jpg
2、第二种方法:${varible:n1:n2}:截取变量varible从n1到n2之间的字符串。
可以根据特定字符偏移和长度,使用另一种形式的变量扩展,来选择特定子字符串。试着在 bash 中输入以下行:
$ EXCLAIM=cowabunga
$ echo ${EXCLAIM:0:3}
cow
$ echo ${EXCLAIM:3:7}
abunga
这种形式的字符串截断非常简便,只需用冒号分开来指定起始字符和子字符串长度。
三、按照指定要求分割:
比如获取后缀名
ls -al | cut -d “.” -f2
本文出自“LinuxLeon”
该命令返回下列出口值:
126 可以查找但不能调用 Command 参数指定的命令。
127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。
否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
示例
1. 要运行注销后后台中的命令,请输入:
$ nohup find / -print &
输入该命令后,显示如下:
670
$ 输出发送到 nohup.out
进程 ID 号更改为 & (表示“and”的符号)启动的后台进程的 ID 号。消息 输出发送到 nohup.out 通知您来自 find / -print 命令的输出在 nohup.out 文件中。查看这些消息后可以注销,即使 find 命令仍在运行。
2. 要运行后台中的命令并且把标准输出重定向到一个不同的文件,请输入:
$ nohup find / -print >filenames &
本例运行 find / -print 命令并且把输出存储到命名为 filenames 的文件中。现在只显示进程 ID 和提示:
677
$
因为 nohup 命令需要片刻时间来启动 Command 参数指定的命令,在注销前请等待。如果太快注销,Command 参数指定的命令可能根本没运行。一旦 Command 参数指定的命令启动,注销就不会对其产生影响。
3. 要运行不止一条命令,请使用 shell 过程。例如,如果写 shell 过程:
neqn math1 | nroff > fmath1
且命名它为 nnfmath1 文件,那么可以为 nnfmath1 文件中所有命令运行 nohup 命令,命令为:
nohup sh nnfmath1
4. 如果给 nnfmath1 文件分配执行许可权,那么可以通过发出如下命令得到相同的结果:
nohup nnfmath1
5. 要在后台中运行 nnfmath1 文件,请输入:
nohup nnfmath1 &
6. 要在 Korn shell 中运行 nnfmath1 文件,请输入:
nohup ksh nnfmath1
分享到:
相关推荐
本文将详细解读《Linux命令大全完整版.pdf》中所收录的各类命令,以帮助读者更好地理解和运用Linux命令。 1. Linux系统管理命令 系统管理命令是Linux系统中最重要的命令类别之一,涵盖了用户管理、进程控制、系统...
Linux命令速查手册作为一本全面介绍Linux命令的参考书籍,由美国作者Scott Granneman所著,并由成保栋与李保强翻译成中文版本。本书是图灵系统与网络管理技术丛书之一,适合所有与Linux相关的工作人员以及初学者,...
Linux 命令大全搜索工具提供了一个详细的命令列表,包括 A series 命令、apachectl 命令、arp 命令、atop 命令、awk 命令、axel 命令等。这些命令涵盖了 Linux 系统中的各种功能,例如文件管理、网络管理、系统管理...
Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 Linux命令大全 ...
Linux命令大全(CHM格式离线版) Linux命令大全(修改版) 进行重新编译的说明 文件传输 bye ftp ftpcount ftpshut ftpwho ncftp tftp uucico uucp uupick uuto 备份压缩 ar bunzip2 bzip2 bzip2recover compress cpio ...
Linux 命令全集.chm
Linux课件(ppt)外加一个《Linux命令大全》: Linux_内核完全注释_V11.pdf VI的常见用法.doc 第1章 Linux概况及安装.ppt 第2章 Linux的常用命令.ppt 第3章 Linux系统管理.ppt 第4章 Linux网络基础.ppt 第5章 ...
linux命令壁纸1920*1080尺寸,留有快捷键放置空间,方便对linux操作系统中各个命令的记忆。
Licote是Linux command template的缩写,顾名思义就是Linux命令模板。用于快速编写一个linux环境的命令程序,当然如果你愿意,你可以用于任何程序中;Licote的主要任务就是帮助你解析linux环境下的常用命令选项,让...
linux 命令 - 开关机 - 文件操作 - 系统命令 1. top 2. who 3. ifconfig 4. ping 5. kill 6. man 7.clear 8.netstat 4. 软件管理 - dpkg :离线 .deb .rpm .apk - apt-get :在线 5. 压缩解压 tar -...
Licote是Linux command template的缩写,顾名思义就是Linux命令模板。用于快速编写一个linux环境的命令程序,当然如果你愿意,你可以用于任何程序中;Licote的主要任务就是帮助你解析linux环境下的常用命令选项,让...
linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统...
linux命令大全linux指令大全(完整篇).pdf
Linux命令GNU官方源码,是coreutils-common-8.24这个软件包的命令,包含cp、mv、chgrp、chown等大多数基本命令,对学习C语言的人会有很大帮助,可以看看大神都是怎么写代码的TnT
Linux 命令详解词典.pdf,施威铭研究室著,大小 74 MB,被压缩成两部分分别上传。这是第二部分,第一部分下载地址:http://download.csdn.net/source/2685010。 本书精选了 381 个 Linux 命令,详细罗列 1729 个范例...
linux命令汇总linux命令汇总+Linux命令大全linux命令汇总+Linux命令大全linux命令汇总+Linux命令大全linux命令汇总+Linux命令大全linux命令汇总+Linux命令大全linux命令汇总+Linux命令大全linux命令汇总+Linux命令...
Linux 命令大全完整版 Linux 系统管理命令是 Linux 操作系统中最重要的一部分,掌握这些命令可以帮助用户更好地管理和维护 Linux 系统。本资源将对 Linux 命令大全进行详细的介绍和解释。 adduser adduser 命令...