- 浏览: 10154 次
- 性别:
- 来自: 广州
最新评论
文章列表
在很多时候,我们需要把一个较大的文件分割成若干个小文件,以方便操作,例如上传文件,发送电子邮件等。
在Linux中,可以使用split 命令来分割文件,具体格式为:split [options] file [prefix].
其中 options为可选参数, 最后一个参数prefix是为分割后的文件指定文件名前缀.
-b: 根据文件大小分割,分割后文件大小可以为:k (KB), M (MB), G (GB), c (byte), w (word)等...
-l: 根据行数来分割.
-d: 指定以数字为后缀.
-a length: 指定长度为length的后缀.
file: 待分 ...
Linux中,我们可以使用sed命令配合正则表达式来进行字符串匹配操作,具体形式为 sed '/pattern/' file,其中pattern为正则表达式或特定字符串, file为要操作的文件。比如说,有test.txt文件内容如下:
这时,想要删除test.txt文件中的第四行信息,可以使用 sed '/^This/d' 或 sed '/line!$/d' 来进行删除,其中符号^的意思代表匹配第一个字符,$代表匹配最后一个字符。
注意,这里删除的意思只是对输出结果作删除第四行操作,对原文件的信息并没有删除。如果想保存删除后的输出结果,可以使用重定向来保存。如:
上面可以看到 ...
在日常工作中,我们需要对一批相同的值进行修改替换,逐个修改重复的值是一件繁琐而且浪费时间的事情,下面的例子是使用Linux中":s/old/new/“ 来进行替换操作,以提高工作效率。
1. 使用 :s/old/new/ 替换cron job 中的一行的值:
2. 使用 :%s/old/new/g 来替换cron job中所有行的值:
按enter后:
在Linux中,我们很容易实现在某一时间运行某个特定程序,只需在cron job 中设好相应的时间就行,例如:
但对于要在每月最后一天运行某个程序,单单使用上述的命令就有点困难,因为每个月最后一天不是固定的,可能是30号,也有可能所28号,29,31号。
这时,可以使用一个简单的判断来解决上述问题,判断第二天 `date -d tomorrow +\%e` 是否等于1,如果相等则运行backup程序。
当然,解决上述问题还有其他很多方法,在这里只是说明其中一种。
1.使用xargs将多行输入转换成单行输出:
2.使用xargs分隔具有规律的字符串:
使用-d自定义定界符来分隔参数,下面例子用-d将X作为输入定界符。
使用-n来限制每行输出个数:
3.使用xargs批量删除:
使用xargs删除多个具有前缀或后缀的文件
上面例子使用 ls $1* | xargs -i rm {} 来删除具有相同前缀的文件,该文件名使用参数$1由用户指定,在日常工作中使用可以提高工作效率。
运行前:
运行后:
可以看见,具有test相同前缀的文件已经被成功删除!
一.算术比较
算术操作符主要有以下几个:
-eq:等于(equal)
-gt: 大于(greater than)
-lt: 小于(less than)
-ge:大于或等于(greater than or equal)
-le:小于或等于(less than or equal)
对变量或值进行算术条件比较,如果两个条件通过&&,||连接在一起,记得在操作数之间要有一个空格。例如:
[ $var1 -eq 0 ] || [$var2 -lt 10 ]
二.文件系统相关属性测试
与文件系统相关的测试符号主要有:
[ -d $var ]:如果给定变量为目录 ...
在Linux中,一个文件或文件夹具有三种不同到权限。其中:r 代表read读权限w 代表write写权限x 代表execute可执行权限Linux使用二进制编码来表示是否拥有此权限,如rwx为111,rw-为110,---为000。当使用ll命令时,
前面首字母如果 ...