7月19 杂七杂八
shell 字符串操作
shell字符串
shell 判断字符串结尾、开头
使用grep命令
1 |
|
1 | # 写成一行 |
使用expr命令
1 |
|
BASH
1 |
|
comm 命令
很有意思
Linux comm 命令用于比较两个已排过序的文件。
这项指令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则会把结果分成 3 列显示:第 1 列仅是在第 1 个文件中出现过的列,第 2 列是仅在第 2 个文件中出现过的列,第 3 列则是在第 1 与第 2 个文件里都出现过的列。若给予的文件名称为 - ,则 comm 指令会从标准输入设备读取数据。
语法
comm [-123][–help][–version][第1个文件][第2个文件]
参数:
- -1 不显示只在第 1 个文件里出现过的列。
- -2 不显示只在第 2 个文件里出现过的列。
- -3 不显示只在第 1 和第 2 个文件里出现过的列。
- --help 在线帮助。
- --version 显示版本信息。
shell 读出文件每一行操作
1 | for line in \`cat filename\` |
1 | for line in $(cat filename) |
1 | while read -r line |
shell 判断变量是否定义
判断一个变量是否定义,
1 | if [ -z $var ];then |
这个实际上是一个判断字符串的操作符?
字符串测试有这么几个操作
| 参数 | 说明 |
|---|---|
| = | 等于则为真 |
| != | 不相等则为真 |
| -z | 字符串的长度为零则为真(zero) |
| -n | 字符串的长度不为零则为真(not zero) |
shell 比较还有很多其他有意思的东西
文件测试
| 参数 | 说明 |
|---|---|
| -e 文件名 | 如果文件存在则为真(exist) |
| -r 文件名 | 如果文件存在且可读则为真(exist + read) |
| -w 文件名 | 如果文件存在且可写则为真(exist + write) |
| -x 文件名 | 如果文件存在且可执行则为真(exist + execute) |
| -s 文件名 | 如果文件存在且至少有一个字符则为真(exist + string(no empty)) |
| -d 文件名 | 如果文件存在且为目录则为真(exist + directory) |
| -f 文件名 | 如果文件存在且为普通文件则为真(exist + file) |
| -c 文件名 | 如果文件存在且为字符型特殊文件则为真(exist + char) |
| -b 文件名 | 如果文件存在且为块特殊文件则为真(exist + block) |
Author: 哒琳
Permalink: http://blog.jieis.cn/2022/720e6d78-7128-4c8d-bebf-93ba78b81751.html
Comments