
sort指令
sort [选项] 参数
cat file | sort 选项
以行为单位对文件内容进行排序,也能够依据不同的数据类型来排序比较原则是从首字符向后,依次按AscII码值进行比较,最后将他们按升序输出。

常用选项
选项 | 效果 |
---|---|
-n | 按照数字进行排序 |
-r | 反向排序 |
-u | 等同于uniq,表示相同的数据仅显现一行 |
-t | 指定字段分隔符,默许运用[Tab]键分隔 |
-k | 指定排序字段 |
-o<输出文件> | 将排序后的成果转存至指定文件 |
-f | 疏忽大小写,会将小写字母都转换为大写字母来进行比较 |
-b | 疏忽每行前面的空格 |
用处举例:筛选du计算占用状况

uniq指令
uniq [选项] 参数
cat file | uniq [选项]
用于疏忽文件中连续的重复行,通常与sort指令结合运用。(去重)


常用选项
选项 | 效果 |
---|---|
-c | 进行计数,并删去文件中重复呈现的行 |
-d | 仅显现连续的重复行 |
-u | 仅显现呈现一次的行 |
用处举例:可用于监测用户登录次数


脚本内容
#!/bin/bash
#监测用户登录
grep 'Failed password' /var/log/secure | awk '{print $11}' | sort -n | uniq -c > IPS.txt
OLD_IFS=$IFS
IFS=$'\n'
for i in $(cat IPS.txt)
do
num=$(echo $i | awk '{print $1}')
ip=$(echo $i | awk '{print $2}')
if [ $num -gt 3 ];then
echo "sshd:$ip" >> /etc/hosts.deny
fi
done
IFS=$OLD_IFS
rm -f IPS.txt
解析
tr指令
tr [选项] 参数1 参数2
常用来对来自标准输入的字符进行替换、紧缩和删去
常用选项
选项 | 效果 |
---|---|
-c | 保存字符集1的字符,其他的字符(包括换行符\n)用字符集2替换 |
-d | 删去一切归于字符集1的字符 |
-s | 将重复呈现的字符串紧缩为一个字符;用字符集2替换字符集1 |
-t | 字符集2替换字符集1,不加选项同成果 |
删去空行
运用grep

运用tr -s

弥补:删去windows文件“形成”的’^M’字符
Windows中编写的脚本文件移动到Linux中会多“^M”字符。

原因
- Linux中遇到换行符(“\n”)会进行回车+换行的操作,回车符反而只会作为控制字符(“^M”)显现,不发生回车的操作。
- windows中要回车符+换行符(“\r\n”)才会回车+换行,缺少一个控制符或者顺序不对都不能正确的另起一行。
删去^M的办法
弥补:运用sort和tr排序数组

cut指令
cut 参数
cut file | cut 选项
显现行中的指定部分,删去文件中指定字段。
常用选项
选项 | 效果 |
---|---|
-f | 经过指定哪一个字段进行提取。cut指令运用”TAB”作为默许的字段分隔符。 |
-d | “TAB”是默许的分隔符,运用此选项能够更改为其他的分隔符。 |
-b | 截取字符串 |
–complement | 此选项用于扫除所指定的字段。 |
–output-delimiter | 更改输出内容的分隔符。 |
split指令
split 选项 参数 原始文件 拆分后文件名前缀
可将将一个大的文件拆分成若干小文件
常用选项
选项 | 效果 |
---|---|
-l | 以行数拆分 |
-b | 以大小拆分 |

paste指令
paste [-s] [-d<距离字符>] 文件..
用于兼并文件的列

一般的兼并,经过重定向追加,或者将两个文件重定向输出到第三个文件即可完结。


常用选项
选项 | 效果 |
---|---|
-d <距离字符> | 用指定的距离字符替代制表符 |
-s | 把多行内容兼并为一行进行显现 |
将文件1的第2列和文件2的第3列兼并
eval指令
指令字前加上eval时,shell会在履行指令之前扫描它两次。eval指令将首先会先扫描指令行进行一切的置换,然后再履行该指令。该指令适用于那些一次扫描无法实现其功能的变量。该指令对变量进行两次扫描。
即先解析指令中的变量,再履行解析后的指令。

结合脚本运用



声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。