日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

行處理工具

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2025-01-03 09:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

行處理工具

grep:用于查找文件里符合條件的字符串或正則表達式。

grep 指令用于查找內容包含指定的范本樣式的文件,如果發(fā)現某文件的內容符合所指定的范本樣式,預設 grep 指令會把含有范本樣式的那一列顯示出來。若不指定任何文件名稱,或是所給予的文件名為-,則 grep 指令會從標準輸入設備讀取數據。

-i:忽略大小寫進行匹配。

-v:反向查找,只打印不匹配的行。

-n:顯示匹配行的行號。

-r:遞歸查找子目錄中的文件。

-l:只打印匹配的文件名。

-c:只打印匹配的行數。

-A : 打印搜索結果后幾行的數據

-B : 打印搜索結果前幾行的數據

-C : 打印搜索結果前后幾行的數據

 grep --color=auto passwd  #高亮顯示過濾內容
 alias grep='grep --color=auto'   #別名 
 alias grep='grep --color=auto' >> /etc/bashrc  #寫入配置文件,使其一直生效
 source /etc/bashrc  #讀取配置文件
 grep 'a*' passwd  
 vim passwd 
 cat passwd | grep  'bash$' #尋找以bash結尾的行
 cat passwd | grep -ni 'bash$' #尋找不區(qū)分大小寫以bash結尾的行,同時打印行號
 cat passwd | grep -niv 'bash$' #反選不區(qū)分大小寫以bash結尾的行,同時打印行號
 grep -nB 2 'ftp' passwd   #打印以ftp過濾的行及其前兩行,同時打印行號
 grep -nB 2 '^ftp' passwd  #打印以ftp開頭過濾的行及其前兩行,同時打印行號
 grep -nA 2 '^ftp' passwd  #打印以ftp過濾的行及其前兩行,同時打印行號
 grep -nB5 2 '^ftp' passwd  #打印以ftp過濾的行及其前兩行,同時打印行號
 grep -A 2 '^ftp' passwd   #打印以ftp過濾的行及其后兩行
 grep -C 2 '^ftp' passwd   ##打印以ftp過濾的行及其前后兩行
 grep -o  '^ftp' passwd   #只打印ftp關鍵字

cut:類似于awk,可以獲取某列的數值,或可以獲取每行從某個字符到某個字符的全部字符。

-c :以字符為單位進行分割。

-d :自定義分隔符,默認為制表符。

-f :與-d一起使用,指定顯示哪個區(qū)域。

[root@ecs-shell ~]#  cat passwd   #源文件內容
root0root:/root:/bin/bash
bin1bin:/bin:/sbin/nologin
daemon2daemon:/sbin:/sbin/nologin
adm3adm:/var/adm:/sbin/nologin
lp4lp:/var/spool/lpd:/sbin/nologin
sync5sync:/sbin:/bin/sync
shutdown6shutdown:/sbin:/sbin/shutdown
halt7halt:/sbin:/sbin/halt
mail8mail:/var/spool/mail:/sbin/nologin
operator11operator:/ROOT:/sbin/nologin
games12games:/usr/games:/sbin/nologin
ftp14FTP User:/var/ftp:/sbin/nologin
nobody99Nobody:/:/sbin/nologin
systemd-network192systemd Network Management:/:/sbin/nologin
dbus81System message bus:/:/sbin/nologin
polkitd999User for polkitd:/:/sbin/nologin
postfix89:/var/spool/postfix:/sbin/nologin
sshd74Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony998:/var/lib/chrony:/sbin/nologin
tcpdump72:/:/sbin/nologin
tss59Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin

[root@ecs-shell ~]#  cat passwd | cut -d":" -f1   #獲取第一列全部的username
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
systemd-network
dbus
polkitd
postfix
sshd
chrony
tcpdump
tss


[root@ecs-shell ~]#  cat passwd | awk -F":" '{print $1}'  #awk也可以做到
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
systemd-network
dbus
polkitd
postfix
sshd
chrony
tcpdump
tss

[root@ecs-shell ~]#  cat passwd | cut -d":" -f1,7   #打印第一列和第七列
root:/bin/bash
bin:/sbin/nologin
daemon:/sbin/nologin
adm:/sbin/nologin
lp:/sbin/nologin
sync:/bin/sync
shutdown:/sbin/shutdown
halt:/sbin/halt
mail:/sbin/nologin
operator:/sbin/nologin
games:/sbin/nologin
ftp:/sbin/nologin
nobody:/sbin/nologin
systemd-network:/sbin/nologin
dbus:/sbin/nologin
polkitd:/sbin/nologin
postfix:/sbin/nologin
sshd:/sbin/nologin
chrony:/sbin/nologin
tcpdump:/sbin/nologin
tss:/sbin/nologin

[root@ecs-shell ~]# cat passwd | awk -F":" '{print $1,$NF}' #awk打印第一列和第七列
root /bin/bash
bin /sbin/nologin
daemon /sbin/nologin
adm /sbin/nologin
lp /sbin/nologin
sync /bin/sync
shutdown /sbin/shutdown
halt /sbin/halt
mail /sbin/nologin
operator /sbin/nologin
games /sbin/nologin
ftp /sbin/nologin
nobody /sbin/nologin
systemd-network /sbin/nologin
dbus /sbin/nologin
polkitd /sbin/nologin
postfix /sbin/nologin
sshd /sbin/nologin
chrony /sbin/nologin
tcpdump /sbin/nologin
tss /sbin/nologin

[root@ecs-shell ~]#  cat passwd | cut -c 1-5  #獲取每行的第1-5個字符
root:
bin:x
daemo
adm:x
lp
sync:
shutd
halt:
mail:
opera
games
ftp:x
nobod
syste
dbus:
polki
postf
sshd:
chron
tcpdu
tss:x

[root@ecs-shell ~]#  cat passwd | cut -c 10-  #獲取每行的第10個字符到每行結束
0/root:/bin/bash
/bin:/sbin/nologin
2daemon:/sbin:/sbin/nologin
/var/adm:/sbin/nologin
lp:/var/spool/lpd:/sbin/nologin
0/sbin:/bin/sync
x0/sbin:/sbin/shutdown
0/sbin:/sbin/halt
12/var/spool/mail:/sbin/nologin
x0/ROOT:/sbin/nologin
2games:/usr/games:/sbin/nologin
50:FTP User:/var/ftp:/sbin/nologin
99Nobody:/:/sbin/nologin
etwork192systemd Network Management:/:/sbin/nologin
System message bus:/:/sbin/nologin
998:User for polkitd:/:/sbin/nologin
89::/var/spool/postfix:/sbin/nologin
Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
998:/var/lib/chrony:/sbin/nologin
72::/:/sbin/nologin
59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin

#相關命令:
 cat passwd | awk -F":" '{print $1}'
 cat passwd | cut -d":" -f1,7
 cat passwd | awk -F":" '{print $1,$NF}'
 cat passwd | cut -c 1-5
 cat passwd | cut -c 10-

sort: sort 命令用于將文本文件內容加以排序。

-b 忽略每行前面開始出的空格字符。

-n 依照數值的大小排序。

-u 意味著是唯一的(unique),輸出的結果是去完重了的。

-o<輸出文件> 將排序后的結果存入指定的文件。

-r 以相反的順序來排序。

[root@ecs-shell ~]# cat passwd
root0root:/root:/bin/bash
bin1bin:/bin:/sbin/nologin
daemon2daemon:/sbin:/sbin/nologin
adm3adm:/var/adm:/sbin/nologin
lp4lp:/var/spool/lpd:/sbin/nologin
sync5sync:/sbin:/bin/sync
shutdown6shutdown:/sbin:/sbin/shutdown
halt7halt:/sbin:/sbin/halt
mail8mail:/var/spool/mail:/sbin/nologin
operator11operator:/ROOT:/sbin/nologin
games12games:/usr/games:/sbin/nologin
ftp14FTP User:/var/ftp:/sbin/nologin
nobody99Nobody:/:/sbin/nologin
systemd-network192systemd Network Management:/:/sbin/nologin
dbus81System message bus:/:/sbin/nologin
polkitd999User for polkitd:/:/sbin/nologin
postfix89:/var/spool/postfix:/sbin/nologin
sshd74Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony998:/var/lib/chrony:/sbin/nologin
tcpdump72:/:/sbin/nologin
tss59Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin

[root@ecs-shell ~]# cat passwd | sort -n -t":" -k3  #查看以":"分割的,第三列從小向大排序的內容
root0root:/root:/bin/bash
bin1bin:/bin:/sbin/nologin
daemon2daemon:/sbin:/sbin/nologin
adm3adm:/var/adm:/sbin/nologin
lp4lp:/var/spool/lpd:/sbin/nologin
sync5sync:/sbin:/bin/sync
shutdown6shutdown:/sbin:/sbin/shutdown
halt7halt:/sbin:/sbin/halt
mail8mail:/var/spool/mail:/sbin/nologin
operator11operator:/ROOT:/sbin/nologin
games12games:/usr/games:/sbin/nologin
ftp14FTP User:/var/ftp:/sbin/nologin
tss59Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
tcpdump72:/:/sbin/nologin
sshd74Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
dbus81System message bus:/:/sbin/nologin
postfix89:/var/spool/postfix:/sbin/nologin
nobody99Nobody:/:/sbin/nologin
systemd-network192systemd Network Management:/:/sbin/nologin
chrony998:/var/lib/chrony:/sbin/nologin
polkitd999User for polkitd:/:/sbin/nologin

[root@ecs-shell ~]# cat passwd | sort -nr -t":" -k3  #查看以":"分割的,第三列從大向小排序的內容
polkitd999User for polkitd:/:/sbin/nologin
chrony998:/var/lib/chrony:/sbin/nologin
systemd-network192systemd Network Management:/:/sbin/nologin
nobody99Nobody:/:/sbin/nologin
postfix89:/var/spool/postfix:/sbin/nologin
dbus81System message bus:/:/sbin/nologin
sshd74Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump72:/:/sbin/nologin
tss59Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
ftp14FTP User:/var/ftp:/sbin/nologin
games12games:/usr/games:/sbin/nologin
operator11operator:/ROOT:/sbin/nologin
mail8mail:/var/spool/mail:/sbin/nologin
halt7halt:/sbin:/sbin/halt
shutdown6shutdown:/sbin:/sbin/shutdown
sync5sync:/sbin:/bin/sync
lp4lp:/var/spool/lpd:/sbin/nologin
adm3adm:/var/adm:/sbin/nologin
daemon2daemon:/sbin:/sbin/nologin
bin1bin:/bin:/sbin/nologin
root0root:/root:/bin/bash


[root@ecs-shell ~]# cat 3.txt 
aaa
111
222
111
222
222
sda
dsdsa
vvv

[root@ecs-shell ~]# cat 3.txt | sort -u  #去掉重復出現的行

111
222
aaa
dsdsa
sda
vvv

#相關命令
 cat passwd 
 cat passwd | sort -n -t":" -k3 
 cat passwd | sort -nr -t":" -k3

uniq:uniq 命令用于檢查及刪除文本文件中重復出現的行列,一般與 sort 命令結合使用。

-c或--count 在每列旁邊顯示該行重復出現的次數。

-d或--repeated 僅顯示重復出現的行列。

-u或--unique 僅顯示出一次的行列。

[輸入文件] 指定已排序好的文本文件。如果不指定此項,則從標準讀取數據;

[輸出文件] 指定輸出的文件。如果不指定此選項,則將內容顯示到標準輸出設備(顯示終端)。

[root@ecs-shell ~]# cat 3.txt #查看源文件
aaa
111
222
111
222
222
sda
dsdsa
vvv
[root@ecs-shell ~]#  cat 3.txt | uniq #對源文件中連續(xù)重復的行去重
aaa
111
222
111
222
sda
dsdsa
vvv
[root@ecs-shell ~]# cat 3.txt | uniq -c #對重復的行計數
      1 aaa
      1 111
      1 222
      1 111
      2 222
      1 sda
      1 dsdsa
      1 vvv
      1 
[root@ecs-shell ~]#  cat 3.txt | uniq -d #打印出其中連續(xù)重復的行
222

#相關命令
 cat 3.txt | uniq
 cat 3.txt | uniq -c
 cat 3.txt | uniq -d

tee: tee命令用于讀取標準輸入的數據,并將其內容輸出成文件。

tee指令會從標準輸入設備讀取數據,將其內容輸出到標準輸出設備,同時保存成文件。

-a或--append 附加到既有文件的后面,而非覆蓋它.

[root@ecs-shell ~]# echo "helloworld" | tee abc.txt  #標準覆蓋輸到我們的文件和屏幕上
helloworld
[root@ecs-shell ~]# echo "helloworld" | tee -a abc.txt  #標準追加輸出到我們的文件和屏幕上
helloworld
[root@ecs-shell ~]# cat abc.txt 
helloworld
helloworld
[root@ecs-shell ~]# cat vsftpd.conf | grep -v "^#" | grep -v "^$" | tee 4.txt 
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
 
 echo "helloworld" | tee 1.txt
 cat 1.txt 
 echo "abc" | tee 1.txt
 cat 1.txt 
 cat vsftpd.conf | grep -v "^#" | grep -v "^$" | tee 4.txt

diff:Linux diff 命令用于比較文件的差異。

diff 以逐行的方式,比較文本文件的異同處。如果指定要比較目錄,則 diff 會比較目錄中相同文件名的文件,但不會比較其中子目錄。

-c 上下文模式

-u 合并模式

[root@ecs-shell ~]# diff 1.txt  2.txt #拿到的是一個操作信息,可以使第一個文件變?yōu)榈诙€文件。
3c3 #3c3是指第一個文件第三行通過改變可以變成第二個文件第三行
< write_enable=YES #第一個文件第三行
---
> write_enable=NO #第二個文件第三行
8,9c8 #8,9c8是指第一個文件通過改變第八,九行可以變成第八行
< ooooooo
< xferlog_std_format=YES
---
> xferlog_std_format=NO
10a10 #10a10指第十行增加第二個文件第十行的內容
> aaa #第二個文件第十行內容
12c12,13  #同上
< pam_service_name=vsftpd
---
> bb
> ccpam_service_name=vsftpd

[root@ecs-shell ~]# cat 1.txt 
anonymous_enable=YES
local_enable=YES
local_umask=022
cccca
dirmessage_enable=YES
connect_from_port_20=YES
xferlog_std_format=NO
listen=NO
oooooooop
listen_ipv6=YES
ccpam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
[root@ecs-shell ~]# cat 2.txt  
anonymous_enable=YES
local_enable=YES
write_enable=NO
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=NO
listen=NO
aaa
listen_ipv6=YES
bb
ccpam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

#對兩個文件進行一定修改后,使用-c模式來比較
[root@ecs-shell ~]# diff -c 1.txt 2.txt 
*** 1.txt       2023-12-06 1046.672339322 +0800   #修改時間
--- 2.txt       2023-12-04 2227.956996693 +0800   #修改時間
***************
*** 1,13 ****  #第一個文件的行數
  anonymous_enable=YES
  local_enable=YES
  local_umask=022
- cccca    #第一個文件刪除此行
  dirmessage_enable=YES
  connect_from_port_20=YES
  xferlog_std_format=NO
  listen=NO
! oooooooop  #將此行改為“ aaa ”
  listen_ipv6=YES
  ccpam_service_name=vsftpd
  userlist_enable=YES
  tcp_wrappers=YES
--- 1,15 ---- #第二個文件的行數
  anonymous_enable=YES
  local_enable=YES
+ write_enable=NO   #第一個文件加上此行
  local_umask=022
  dirmessage_enable=YES
+ xferlog_enable=YES
  connect_from_port_20=YES
  xferlog_std_format=NO
  listen=NO
! aaa 
  listen_ipv6=YES
+ bb        #第一個文件加上此行
  ccpam_service_name=vsftpd
  userlist_enable=YES
  tcp_wrappers=YES
  #使用-u來比較
 [root@ecs-shell ~]# diff -u 1.txt 2.txt  
--- 1.txt       2023-12-06 1046.672339322 +0800
+++ 2.txt       2023-12-04 2227.956996693 +0800
@@ -1,13 +1,15 @@
 anonymous_enable=YES
 local_enable=YES
+write_enable=NO   #加上此行
 local_umask=022
-cccca   #刪除此行
 dirmessage_enable=YES
+xferlog_enable=YES   #加上此行
 connect_from_port_20=YES
 xferlog_std_format=NO
 listen=NO
-oooooooop   #刪除此行
+aaa  #加此行
 listen_ipv6=YES
+bb   #加此行
 ccpam_service_name=vsftpd
 userlist_enable=YES
 tcp_wrappers=YES 
  
#我們也可以基于diff對兩個文件夾進行比較:
[root@ecs-shell ~]# ll test1
total 0
-rw-r--r-- 1 root root 0 Dec  6 11:05 file1
-rw-r--r-- 1 root root 0 Dec  6 11:05 file2
-rw-r--r-- 1 root root 0 Dec  6 11:05 file3
-rw-r--r-- 1 root root 0 Dec  6 11:05 file4
-rw-r--r-- 1 root root 0 Dec  6 11:05 file5
[root@ecs-shell ~]# ll test2
total 0
-rw-r--r-- 1 root root 0 Dec  6 11:05 file1
-rw-r--r-- 1 root root 0 Dec  6 11:05 file2
-rw-r--r-- 1 root root 0 Dec  6 11:05 file3
-rw-r--r-- 1 root root 0 Dec  6 11:05 test1
-rw-r--r-- 1 root root 0 Dec  6 11:05 test2
-rw-r--r-- 1 root root 0 Dec  6 11:05 test3

[root@ecs-shell ~]# diff test1 test2
Only in test1: file4
Only in test1: file5
Only in test2: test1
Only in test2: test2
Only in test2: test3
 
#diff還可以搭配patch補丁工具使用:可以直接使文件1變?yōu)槲募?[root@ecs-shell ~]# diff 1.txt 2.txt > file.patch
[root@ecs-shell ~]# patch 1.txt file.patch 
patching file 1.txt
[root@ecs-shell ~]# diff 1.txt 2.txt
[root@ecs-shell ~]# cat 1.txt 
anonymous_enable=YES
local_enable=YES
write_enable=NO
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=NO
listen=NO
aaa
listen_ipv6=YES
bb
ccpam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
[root@ecs-shell ~]# cat 2.txt 
anonymous_enable=YES
local_enable=YES
write_enable=NO
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=NO
listen=NO
aaa
listen_ipv6=YES
bb
ccpam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

paste:paste 命令用于合并文件的列

paste 指令會把每個文件以列對列的方式,一列列地加以合并。

-d<間隔字符>或--delimiters=<間隔字符> 用指定的間隔字符取代跳格字符。

-s或--serial 串列進行而非平行處理。

--help 在線幫助。

--version 顯示幫助信息。

[文件…] 指定操作的文件路徑

 [root@ecs-shell ~]# cat 4.txt 
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
[root@ecs-shell ~]# paste 3.txt 4.txt 
aaa     anonymous_enable=YES
111     local_enable=YES
222     write_enable=YES
111     local_umask=022
222     dirmessage_enable=YES
222     xferlog_enable=YES
sda     connect_from_port_20=YES
dsdsa   xferlog_std_format=YES
vvv     listen=NO
        listen_ipv6=YES
        pam_service_name=vsftpd
        userlist_enable=YES
        tcp_wrappers=YES
 #-s選項 把每個文件當一行輸出
[root@ecs-shell ~]# paste -s 3.txt 4.txt 
aaa     111     222     111     222     222     sda     dsdsa   vvv
anonymous_enable=YES    local_enable=YES        write_enable=YES        local_umask=022 dirmessage_enable=YES   xferlog_enable=YES      connect_from_port_20=YES        xferlog_std_format=YES  listen=NO       listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES     tcp_wrappers=YES 
#-d選項可以定義之間的分隔符
#定義|為分隔符
 [root@ecs-shell ~]# paste -d"|" 3.txt 4.txt  
aaa|anonymous_enable=YES
111|local_enable=YES
222|write_enable=YES
111|local_umask=022
222|dirmessage_enable=YES
222|xferlog_enable=YES
sda|connect_from_port_20=YES
dsdsa|xferlog_std_format=YES
vvv|listen=NO
|listen_ipv6=YES
|pam_service_name=vsftpd
|userlist_enable=YES
|tcp_wrappers=YES

#定義":"為分隔符
[root@ecs-shell ~]# paste -d":" 3.txt 4.txt  
aaa:anonymous_enable=YES
111:local_enable=YES
222:write_enable=YES
111:local_umask=022
222:dirmessage_enable=YES
222:xferlog_enable=YES
sda:connect_from_port_20=YES
dsdsa:xferlog_std_format=YES
vvv:listen=NO
:listen_ipv6=YES
:pam_service_name=vsftpd
:userlist_enable=YES
:tcp_wrappers=YES
  

tr: tr 命令用于轉換或刪除文件中的字符。

tr 指令從標準輸入設備讀取數據,經過字符串轉譯后,將結果輸出到標準輸出設備。

-c, --complement:反選設定字符。也就是符合 SET1 的部份不做處理,不符合的剩余部份才進行轉換

-d, --delete:刪除指令字符

-s, --squeeze-repeats:縮減連續(xù)重復的字符成指定的單個字符

-t, --truncate-set1:削減 SET1 指定范圍,使之與 SET2 設定長度相等

--help:顯示程序用法信息

--version:顯示程序本身的版本信息

 
 [root@ecs-shell ~]# cat 1.txt 
anonymous_enable=YES
local_enable=YES
write_enable=NO
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=NO
listen=NO
aaa
listen_ipv6=YES
bb
ccpam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
 
 #使用NO去替換YES
 [root@ecs-shell ~]# cat 1.txt | tr "YES" "NO"
anonymous_enable=NOO
local_enable=NOO
write_enable=NO
local_umask=022
dirmessage_enable=NOO
xferlog_enable=NOO
connect_from_port_20=NOO
xferlog_std_format=NO
listen=NO
aaa
listen_ipv6=NOO
bb
ccpam_service_name=vsftpd
userlist_enable=NOO
tcp_wrappers=NOO
#使用“NO ”去替換yes
[root@ecs-shell ~]# cat 1.txt | tr "YES" "NO "
anonymous_enable=NO 
local_enable=NO 
write_enable=NO
local_umask=022
dirmessage_enable=NO 
xferlog_enable=NO 
connect_from_port_20=NO 
xferlog_std_format=NO
listen=NO
aaa
listen_ipv6=NO 
bb
ccpam_service_name=vsftpd
userlist_enable=NO 
tcp_wrappers=NO 
 #將所有小寫字母換成大寫
[root@ecs-shell ~]# cat 1.txt | tr "[a-z]" "[A-Z]" 
ANONYMOUS_ENABLE=YES
LOCAL_ENABLE=YES
WRITE_ENABLE=NO
LOCAL_UMASK=022
DIRMESSAGE_ENABLE=YES
XFERLOG_ENABLE=YES
CONNECT_FROM_PORT_20=YES
XFERLOG_STD_FORMAT=NO
LISTEN=NO
AAA
LISTEN_IPV6=YES
BB
CCPAM_SERVICE_NAME=VSFTPD
USERLIST_ENABLE=YES
TCP_WRAPPERS=YES
#要實現如上的效果,也可以這樣寫
[root@ecs-shell ~]#  tr "[a-z]" "[A-Z]"< 1.txt 
ANONYMOUS_ENABLE=YES
LOCAL_ENABLE=YES
WRITE_ENABLE=NO
LOCAL_UMASK=022
DIRMESSAGE_ENABLE=YES
XFERLOG_ENABLE=YES
CONNECT_FROM_PORT_20=YES
XFERLOG_STD_FORMAT=NO
LISTEN=NO
AAA
LISTEN_IPV6=YES
BB
CCPAM_SERVICE_NAME=VSFTPD
USERLIST_ENABLE=YES
TCP_WRAPPERS=YES

#將數字換為“@”
[root@ecs-shell ~]#  tr '0-9' '@' <1.txt 
anonymous_enable=YES
local_enable=YES
write_enable=NO
local_umask=@@@
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_@@=YES
xferlog_std_format=NO
listen=NO
aaa
listen_ipv@=YES
bb
ccpam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

tr -d 是直接刪除掉匹配到的字符

#刪除所有小寫字母
[root@ecs-shell ~]#  cat passwd | tr -d "a-z" 
:0::/://
:1::/://
:2::/://
:4:://://
:7::///://
:0::/://
:0::/://
:0::/://
:12::///://
:0::/ROOT://
:100:://://
:50:FTP U://://
:99/://
-:192: N M:/://
:81:S  :/://
:998:U  :/://
:89::///://
:74:P- SSH:///://
:996::///://
:72::/://
:59:A          ://://
#刪除所有大寫字母
[root@ecs-shell ~]#  cat passwd | tr -d "A-Z" 
root0root:/root:/bin/bash
bin1bin:/bin:/sbin/nologin
daemon2daemon:/sbin:/sbin/nologin
adm3adm:/var/adm:/sbin/nologin
lp4lp:/var/spool/lpd:/sbin/nologin
sync5sync:/sbin:/bin/sync
shutdown6shutdown:/sbin:/sbin/shutdown
halt7halt:/sbin:/sbin/halt
mail8mail:/var/spool/mail:/sbin/nologin
operator11operator:/:/sbin/nologin
games12games:/usr/games:/sbin/nologin
ftp14 ser:/var/ftp:/sbin/nologin
nobody99obody:/:/sbin/nologin
systemd-network192systemd etwork anagement:/:/sbin/nologin
dbus81ystem message bus:/:/sbin/nologin
polkitd999ser for polkitd:/:/sbin/nologin
postfix89:/var/spool/postfix:/sbin/nologin
sshd74rivilege-separated :/var/empty/sshd:/sbin/nologin
chrony998:/var/lib/chrony:/sbin/nologin
tcpdump72:/:/sbin/nologin
tss59ccount used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
#刪除所有字母和數字
[root@ecs-shell ~]#  cat passwd | tr -d "A-Za-z1-9" 
:0::/://
:::::/://
:::::/://
::::://://
:::::///://
:::/://
:::/://
:::/://
:::::///://
:::/://
::://://
:: ://://
:::::/://
-::::  :/://
::::  :/://
::::  :/://
:::::///://
::::- :///://
:::::///://
:::::/://
::::          ://://


#縮減連續(xù)重復的字符
[root@ecs-shell ~]#  tr -s "a-z" < passwd
rot0rot:/rot:/bin/bash
bin1bin:/bin:/sbin/nologin
daemon2daemon:/sbin:/sbin/nologin
adm3adm:/var/adm:/sbin/nologin
lp4lp:/var/spol/lpd:/sbin/nologin
sync5sync:/sbin:/bin/sync
shutdown6shutdown:/sbin:/sbin/shutdown
halt7halt:/sbin:/sbin/halt
mail8mail:/var/spol/mail:/sbin/nologin
operator11operator:/ROOT:/sbin/nologin
games12games:/usr/games:/sbin/nologin
ftp14FTP User:/var/ftp:/sbin/nologin
nobody99Nobody:/:/sbin/nologin
systemd-network192systemd Network Management:/:/sbin/nologin
dbus81System mesage bus:/:/sbin/nologin
polkitd999User for polkitd:/:/sbin/nologin
postfix89:/var/spol/postfix:/sbin/nologin
shd74Privilege-separated SSH:/var/empty/shd:/sbin/nologin
chrony998:/var/lib/chrony:/sbin/nologin
tcpdump72:/:/sbin/nologin
ts59Acount used by the trousers package to sandbox the tcsd daemon:/dev/nul:/sbin/nologin


 ifconfig 
 mkdir test
 touch file
 touch file{0..9}
 touch file1{0-4}
 touch file1{0-4}.jpg
 ll
 cp file* test/
 ll test/
 ls
 rm file*
 rm -r file*
 yy
 y
 cd test/
 ls
 rm file1{0-4}
 rm file1{0-4}.jpg
 ls
 touch file1{0..4}.jpg
 ls file[123]
 ls file[123].jpg
 ls file[0-9]
 ls file*
 ls file[1-19]
 touch file-
 ls file[1-19]
 ls file[2-19]
 ls file[2-29]
 ls -l file[!0-9]
 ls -l file[!0-2]
 ls -l file[!0-3]
 ls -l file[!0-4]
 ls -l file[!0-5]
 ls -l file[!0-6]
 ll file{1,2,3,-,14}
 ll file{1,2,3,-,13}
 ll
 ll file{1..13}.jpg
 ll file{1..13}.*
 ll file{1..13}*
  date +%F
 echo "$date"
 echo "$(date)"
 echo "$(date +%F)"
 echo "$(date +%Y:%m:%d)"
 echo `$(date +%Y)`
 echo `$date +%Y`
 echo `$date +%F`
 echo `date +%F`
 echo "$(date +%F)"
 cat /etc/shell
 cat /etc/shells
 ll /bin/bash
 ll /bin/sh
 /bin/dash
 /bin/sh
 ls
 cd ..
 mkdir shell
 cd shell/
 vim 1.sh
 sh 1.sh 
 vim 1.sh 
 bash -x 1.sh 
 bash -n 1.sh 
 source 1.sh 
 ll
 man rename
 cd 
 ls
 cd test/
 ls
 rename file1{1..4}.jpg test{1..4}.jpg
 ls
 rename file1{1..4}.jpg test{1..4}.jpg file1*.jpg
 ls
 rename file1 test1 file1?.jpg
 ls
 history 
 /bin/bsh
 /bin/bash
 ps 
 echo $A
 env
 ps
 /bin/bsh
 /bin/bash
 ls
 ps
 cd ../shell/
 A=hello
 echo $A
 export $A
 export A
 env | grep A
 ls
 history 
" '{print $NF}'

鏈接:https://www.cnblogs.com/rallina/p/17930965.html

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 文件
    +關注

    關注

    1

    文章

    598

    瀏覽量

    26122
  • 工具
    +關注

    關注

    4

    文章

    317

    瀏覽量

    28937

原文標題:行處理工具

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    英德斯聯合維森影像推出工業(yè)專用CT圖像處理工作站

    英德斯(YDSTECH)聯合維森影像,推出一款工業(yè)專用CT圖像處理工作站,專為CT三維重建、海量斷層數據分割與處理場景打造,兼顧算力密度與工業(yè)級穩(wěn)定性。
    的頭像 發(fā)表于 04-29 11:13 ?434次閱讀

    【分享】CAE前后處理數據太多?試試Simcenter HyperMesh這3個快速數據處理工具

    文章來源于:Simcenter機械仿真做CAE前后處理的工程師,一定都被這些場景折磨過:成百上千個部件,要批量改材料、屬性、模型設置等,一個個點到崩潰;想快速提取節(jié)點坐標、單元信息、載荷信息等
    的頭像 發(fā)表于 04-21 17:35 ?267次閱讀
    【分享】CAE前后<b class='flag-5'>處理</b>數據太多?試試Simcenter HyperMesh這3個快速數據<b class='flag-5'>處理工具</b>

    Ansible與SaltStack配置管理工具的對比

    在大規(guī)模服務器運維場景中,配置管理工具是基礎設施自動化的核心組件。經過多年生產環(huán)境實踐,Ansible和SaltStack作為兩款主流的配置管理工具,各自占據了相當的市場份額。本文基于筆者在多個
    的頭像 發(fā)表于 02-04 11:01 ?901次閱讀

    Linux Shell文本處理神器合集:15個工具+實戰(zhàn)例子,效率直接翻倍

    在 Linux 系統(tǒng)中,文本是數據交互的 “通用語言”—— 日志文件、配置文件、數據報表、程序輸出幾乎都以文本形式存在。手動編輯文本不僅繁瑣,還容易出錯,而掌握 Shell 文本處理工具,能讓你用幾行命令完成批量篩選、數據提取、統(tǒng)計分析,甚至復雜的文本清洗。
    的頭像 發(fā)表于 02-03 15:42 ?2917次閱讀
    Linux Shell文本<b class='flag-5'>處理</b>神器合集:15個<b class='flag-5'>工具</b>+實戰(zhàn)例子,效率直接翻倍

    長春理工大學領導一蒞臨聯合光電參觀交流

    12月26日,長春理工大學黨委副書記周慶才、就業(yè)創(chuàng)業(yè)指導中心主任賈彥彬等一蒞臨聯合光電參觀交流。聯合光電創(chuàng)始人謝晉國、人事總監(jiān)甘露熱情接待并全程陪同,雙方圍繞深化產教融合、拓寬人才輸送渠道展開深入探討。
    的頭像 發(fā)表于 12-31 17:42 ?4269次閱讀

    芯科技GloryEX入選國產EDA工具口碑榜

    來自一位資深用戶反饋:“GloryEX在全芯片RC提取方面表現出色,處理大規(guī)模設計時速度快、精度高,對復雜互連結構的寄生參數捕捉準確。工具在后端Sign-off流程中能快速定位時序瓶頸,顯著提升
    的頭像 發(fā)表于 12-19 12:52 ?741次閱讀

    中汽中心赴武漢理工大學走訪交流

    2025年11月6日,中汽中心黨委副書記王曉杉一赴武漢理工大學走訪交流,與武漢理工大學黨委常委、副校長胡劍就進一步深化校企合作進行交流座談。
    的頭像 發(fā)表于 11-12 17:54 ?1427次閱讀

    上海理工大學師生一走進簡儀科技總部

    10月15日,上海理工大學師生一走進簡儀科技 (JYTEK) 總部,參加“醫(yī)學人工智能實踐教育基地”揭牌儀式暨首場AI實訓活動。本次活動由上海理工大學健康與工程學院主辦,簡儀科技承辦,標志著校企雙方在人工智能與智能測控教育融合
    的頭像 發(fā)表于 10-18 11:27 ?1478次閱讀

    理工雷科亮相第22屆信號處理學術年會

    2025年9月19日,第二十二屆信號處理學術年會在北京會議中心隆重啟幕。第二十二屆信號處理學術年會是由中國電子學會信號處理分會和北京理工大學聯合主辦,致力于為國內信號
    的頭像 發(fā)表于 09-23 12:53 ?1049次閱讀

    江蘇拓能半導體科技有限公司發(fā)布高速半導體信號處理工具平臺,驅動芯片設計效率革命

    引言:國產工具突破,解鎖高速信號處理新維度 2025年8月27日,江蘇拓能半導體科技有限公司(以下簡稱“江蘇拓能”)自主研發(fā)的 “高速半導體信號處理工具平臺(V1.0)” 正式獲得軟件著作權(登記號
    的頭像 發(fā)表于 09-02 15:17 ?796次閱讀
    江蘇拓能半導體科技有限公司發(fā)布高速半導體信號<b class='flag-5'>處理工具</b>平臺,驅動芯片設計效率革命

    技術培訓 | 南理工專場:同星汽車電子基礎工具鏈暨TSMaster軟件應用培訓圓滿落幕

    2025.8.20南理工TSMaster技術培訓8月19日至20日,同星智能(TSMaster)線下技術培訓專場再次走進南京理工大學,為來自車輛工程,智能底盤,機械工程等相關專業(yè)的60余位碩士、博士
    的頭像 發(fā)表于 08-22 20:05 ?1366次閱讀
    技術培訓 | 南<b class='flag-5'>理工</b>專場:同星汽車電子基礎<b class='flag-5'>工具</b>鏈暨TSMaster軟件應用培訓圓滿落幕

    鋰電池制造 | 電芯預處理工藝的步驟詳解

    電芯預處理是鋰電池包制造的首要工序,無論是新能源汽車的續(xù)航穩(wěn)定性,還是儲能系統(tǒng)的循環(huán)壽命,其根基都可追溯至預處理工序對電芯一致性的把控,其核心在于通過系統(tǒng)檢測與篩選消除量產電芯的性能差異,為后續(xù)組裝
    的頭像 發(fā)表于 08-11 14:53 ?2126次閱讀
    鋰電池制造 | 電芯預<b class='flag-5'>處理工</b>藝的步驟詳解

    上海理工大學一蒞臨簡儀科技參觀交流

    為推進校企合作,進一步促進人才培養(yǎng)與企業(yè)需求的精準對接,近日,上海理工大學副校長蔡永蓮率隊走訪上海簡儀科技有限公司(以下簡稱“簡儀科技”),規(guī)劃處、光電信息與計算機工程學院、能源與動力工程
    的頭像 發(fā)表于 07-24 17:52 ?1023次閱讀

    PCB表面處理工藝詳解

    在PCB(印刷電路板)制造過程中,銅箔因長期暴露在空氣中極易氧化,這會嚴重影響PCB的可焊性與電性能。因此,表面處理工藝在PCB生產中扮演著至關重要的角色。下面將詳細介紹幾種常見的PCB表面處理工
    的頭像 發(fā)表于 07-09 15:09 ?1704次閱讀
    PCB表面<b class='flag-5'>處理工</b>藝詳解

    Splashtop 入選 Gartner 端點管理工具市場指南代表供應商

    近日,國際權威IT研究與咨詢機構Gartner發(fā)布《端點管理工具市場指南》(MarketGuideforEndpointManagementTools)報告(以下簡稱“報告”),為企業(yè)評估技術供應商
    的頭像 發(fā)表于 06-12 17:36 ?1308次閱讀
    Splashtop 入選 Gartner 端點管<b class='flag-5'>理工具</b>市場指南代表供應商
    武胜县| 浦城县| 阿拉善右旗| 宁都县| 镇康县| 红原县| 黎平县| 克山县| 汽车| 甘谷县| 德兴市| 新巴尔虎右旗| 溧水县| 余庆县| 神池县| 伊春市| 景德镇市| 望谟县| 酒泉市| 新竹市| 四子王旗| 新密市| 老河口市| 镇坪县| 彰化县| 黔东| 墨玉县| 剑河县| 兴宁市| 镇巴县| 宁乡县| 弋阳县| 石河子市| 昭苏县| 泾阳县| 宁海县| 云龙县| 兴隆县| 宝应县| 定陶县| 乐业县|