0
点赞
收藏
分享

微信扫一扫

文件管理命令3

开源分享 2022-03-24 阅读 50

文件过滤命令

|:管道符
# 作用:将管道符左边命令的标准输出,交给管道符右边命令的标准输入来处理

grep:过滤输出内容

^:以...开头
$:以...结尾
*:匹配*前面的内容至少0次或多次
.:匹配任意字符

## 选项
-n:打印行号 number
-A:after 查看过滤内容的后N行
-B:before 查看过滤内容的前N行
-C:center 查看过滤内容的前、后N行
-v:取反
-E:可以过滤多个结果
-o:只打印出过滤内容
-i:不区分大小写

## 举例

# ^
[root@Y ~]# grep '^人' a.txt (以 人 开头的过滤显示)
人生若只如初见,何事秋风悲画扇。

[root@Y ~]# grep '^等' /root/a.txt (也可以绝对路径找)
等闲变却故人心,却道故人心易变。

# $
[root@Y ~]# grep '。$' a.txt (以句号结尾的过滤显示)
何事秋风悲画扇。
却道故人心易变。
泪雨零铃终不怨。
比翼连枝当日愿。

[root@Y ~]# grep '变。$' a.txt (连续的结尾也可以)
却道故人心易变。

[root@Y ~]# grep '\$' a.txt (加\会让$失去意义,直接过滤显示带$的)
比翼连枝当日愿$

# . 和 *
[root@Y ~]# grep '心.' a.txt (心. 会显示心后面任意字符)
等闲变却故人心,
却道故人心易变。

[root@Y ~]# grep '心' a.txt( 心 只显示含有心的字,不会高亮心后面的字符)
等闲变却故人心,
却道故人心易变。


[root@Y ~]# grep '心*' a.txt(不仅高亮心 而且会显示全文)
人生若只如初见,
何事秋风悲画扇。
等闲变却故人心,
却道故人心易变。
骊山语罢清宵半,
泪雨零铃终不怨。
何如薄幸锦衣郎,
比翼连枝当日愿。
a.1
b.3
c.5
d.34


# -n
[root@Y ~]# grep -n '心' a.txt( 显示序号)
3:等闲变却故人心,
4:却道故人心易变。
13:心

# -A -B -C
[root@Y ~]# grep '心' a.txt
等闲变却故人心,
却道故人心易变。

[root@Y ~]# grep -A 3 '心' a.txt(过滤显示心后面的三行,最后心因为后面没有了,--表示分割)
等闲变却故人心,
却道故人心易变。
骊山语罢清宵半,
泪雨零铃终不怨。
何如薄幸锦衣郎,
--

[root@Y ~]# grep -B 3 '心' a.txt(显示心前面的三行)
人生若只如初见,
何事秋风悲画扇。
等闲变却故人心,
却道故人心易变。
--
b.3
c.5
d.34


[root@Y ~]# grep -B 3 -A 3 '心' a.txt(显示心的前三行和后三行)
人生若只如初见,
何事秋风悲画扇。
等闲变却故人心,
却道故人心易变。
骊山语罢清宵半,
泪雨零铃终不怨。
何如薄幸锦衣郎,
--
b.3
c.5
d.34


[root@Y ~]# grep -C 3 '心' a.txt( C表示中间值 心 的上下个三行)(当要查看AB行列一样的情况使用过)
人生若只如初见,
何事秋风悲画扇。
等闲变却故人心,
却道故人心易变。
骊山语罢清宵半,
泪雨零铃终不怨。
何如薄幸锦衣郎,
--
b.3
c.5
d.34


# -v
[root@Y ~]# grep '人' a.txt(只显示带 人 的)
人生若只如初见,
等闲变却故人心,
却道故人心易变。

[root@Y ~]# grep -v '人' a.txt(取反,除了带 人 的都显示)
何事秋风悲画扇。
骊山语罢清宵半,
泪雨零铃终不怨。
何如薄幸锦衣郎,
比翼连枝当日愿。
a.1
b.3
c.5
d.34


# -E
[root@Y ~]# grep '人|心' a.txt(里面没有 人|心 内容 不会显示)
[root@Y ~]# grep -E '人|心' a.txt(可以过滤多个结果,带人和心的都过滤显示)
人生若只如初见,
等闲变却故人心,
却道故人心易变。


# -o
[root@Y ~]# grep '心' a.txt(显示带 心 的一整段)
等闲变却故人心,
却道故人心易变。


[root@Y ~]# grep -o '心' a.txt(只显示 心 的字)




# -i
[root@Y ~]# grep 'a' a.txt(只显示小写a)
a.1
[root@Y ~]# grep -i 'a' a.txt(显示大小写A)
a.1
A

# [a-zA-Z]
[root@Y ~]# grep '[a-z]' a.txt(显示az之间的所有字母)
a.1
b.3
c.5
d.34

[root@Y ~]# grep '[A-Z]' a.txt(显示AZ之间的所有字母)
A
B
C
ID

[root@Y ~]# grep '[a-zA-Z]' a.txt(显示AZ之间所有大小写的)
a.1
b.3
c.5
d.34
A
B
C
ID

[root@Y ~]# grep '[a-Z]' a.txt (可以这么写 但是不可以[A-z]因为根据ASCII表顺序排列字母,这个顺序有特殊符号)
a.1
b.3
c.5
d.34
A
B
C
ID

如[root@Y ~]# grep -E '[A-z]' a.txt
grep: Invalid range end

[root@Y ~]# grep '^[a-Z]' a.txt (显示以英文开头的所有)
a.1
b.3
c.5
d.34
A
B
C
ID

文件的上传和下载命令

# 如何把windows的文件上传到虚拟机里
rz(也可以直接拖)
# 如何把虚拟机的文件下载到windows里
sz 文件名

[root@Y ~]# sz /temp/a
(选择文件,上传到虚拟机)

## 需要安装lrzsz
[root@localhost ~]# yum install -y lrzsz

## 注意:只能虚拟机和物理机之间上传下载

## 外网下载命令
# 安装wget命令
[root@Y ~]# yum install -y wget

wget 下载地址
-O:指定下载的位置和文件的名字

文件查找命令

type -a 只针对系统内置命令

## 查找命令位置的命令 which
which 只能查找命令

## 举例
[root@Y ~]# which cat
/usr/bin/cat
[root@Y ~]# which cp
alias cp='cp -i'
/usr/bin/cp
[root@Y ~]# which grep
alias grep='grep --color=auto'
/usr/bin/grep

字符处理命令-排序

sort
## 语法
sort [选项]... File...

## 选项
-t:指定分隔符
-k:指定按照某一列,进行排序
-n:按照阿拉伯数字排序
-r:reverse 倒叙排序

## 举例
cat >> yjt.txt <<EOF
B:9
S:1
A:2
C:4
F:11
EOF


[root@Y ~]# cat yjt.txt
B:9
S:1
A:2
C:4
F:11
[root@Y ~]# sort yjt.txt(排列顺序,按照当前首位字符,在sort里,这是一列)
A:2
B:9
C:4
F:11
S:1

## 注意:默认按照每一行的第一个字符进行排序,如果字符相同就往后推,字母按照a-z的顺序排序,排序不修改源 文件内容

# -t -k
[root@Y ~]# sort -t ':' yjt.txt(默认:的第一行第一个字符)
A:2
B:9
C:4
F:11
S:1

[root@Y ~]# sort -t ':' -k 2 yjt.txt(按照:后的第二行的第一个字符排列)
S:1
F:11
A:2
C:4
B:9

[root@Y ~]# sort -t ':' -k 2 -n yjt.txt(按照:后的第二行的第一个字符排列,并且按照阿拉伯数字顺序)
S:1
A:2
C:4
B:9
F:11

# -r
[root@Y ~]# sort -rnt ':' -k 2 yjt.txt(倒序 而且''要在t后)
F:11
B:9
C:4
A:2
S:1


举报

相关推荐

0 条评论