grep
egrep
# 過濾
grep 過濾
-a10
-b10
-c10
grep -a10 『/bin/bash』』/etc/passwd』 將包括/bin/bash的資訊以及它以下10的資訊都顯示出來
grep -b10 『/bin/bash』』/etc/passwd』 將包括/bin/bash的資訊以及它以上10的資訊都顯示出來
grep -c10 『/bin/bash』』/etc/passwd』 將包括/bin/bash的資訊、它以上以及以下10的資訊都顯示出來
-v 反過濾
-l 列出檔名
-o 只顯示匹配到的關鍵字
-i 忽略大小寫
-c 匹配數
-n 行號
-e 正規表示式
egrep
grep -e 增強模式,正規表示式
pgrep 查詢程序的pid
sort
# 排序
sort
-r 反序排序
-f 忽略大小寫
-n 按數字排序
-t 分隔符
-k 關鍵字
-o 結果輸出到檔案
uniq
# 去重之前要排序
# 去重
uniq
-u 僅顯示不重複行
-d 僅顯示重複行
-i 忽略大小寫
-c 每行出現的次數
tr
用來從標準輸入中通過替換或刪除操作進行字元轉換;主要用於刪除檔案中控制字元或進行字元轉換。
使用tr
時要轉換兩個字串:
字串1用於查詢,
字串2用於處理各種轉換。
語法:
commands|
tr'string1'
'string2'
tr'string1'
'string2'
< filename
tr options 'string1'
< filename
-d 刪除字串1中所有輸入字元。
-s 刪除所有重複出現字串行,只保留第乙個;即將重複出現字串壓縮為乙個字串。
a-z 任意小寫
a-z 任意大寫
0-9 任意數字
[root@dyqin qdy]# cat 3.txt 自己建立該檔案用於測試
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
boss02:x:516:511::/home/boss02:/bin/bash
vip:x:517:517::/home/vip:/bin/bash
stu1:x:518:518::/home/stu1:/bin/bash
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
aaaaaaaaaaaaaaaaaaaa
bbbbbb111111122222222222233333333cccccccc
hello world 888
666777
999
# tr -d '[:/]' < 3.txt 刪除檔案中的:和/
# cat 3.txt |tr -d '[:/]' 刪除檔案中的:和/
# tr '[0-9]' '@' < 3.txt 將檔案中的數字替換為@符號
# tr '[a-z]' '[a-z]' < 3.txt 將檔案中的小寫字母替換成大寫字母
# tr -s '[a-z]' < 3.txt 匹配小寫字母並將重複的壓縮為乙個
# tr -s '[a-z0-9]' < 3.txt 匹配小寫字母和數字並將重複的壓縮為乙個
linux中使用
0 代表標準輸入 stdin
1 代表標準輸出 stdout
2 代表標準錯誤輸出 stderr
輸出重定向
1. 輸出重定向 (標準輸出》 追加輸出》 正確1 錯誤2)
1.1 標準正確輸出重定向 (
>
) 如果檔案不存在,則建立;如果存在,則替換檔案原先已有的內容並且寫入新內容
echo
'abcdefg'
>
file
==echo
'abcefg'
1>
file
1.2 追加正確輸出重定向 (
>>
) 如果檔案不存在,則建立;如果存在,則在檔案最後一行寫入新內容
echo
'abcdefg'
>>
file
==echo
'abcdefg'
1>>
file
1.3 標準錯誤輸出重定向
echo
'abcdefg'
2>
file
1.4 追加錯誤輸出重定向
echo
'abcdefg'
2>>
file
如果既想讓檔案有正確的輸出,也有錯誤的輸出,怎麼辦呢?
echo
'abcdefg'
1>>
file
2>>
file
==echo
'abcdefg'
&>>
file
&>(還有這個)
echo
'abcdefg'
1>>
file
2>
&1echo
'abcdefg'
2>>
file
1>
&2
拓展:echdddd 'sfsfsfsdfsdf'
&> /dev/null /dev/null相當於windows的**站
ps:當然,對於一條命令同一時刻只會有乙個結果,要麼正確要麼錯誤。
輸入重定向
2. 輸入重定向
例子1:
echo
'1 2 3 4 5'
>
file
xargs -n2 <
file file作為xargs的引數,預設以空白字元分隔,以兩列顯示
==xargs -n2 0
<
file
xargs -n4 -d: 0
< /etc/passwd
-d指定分隔符
例子2:
寫入多行資料,用重定向實現
cat>> abc.txt <...
......
eofps: eof(end of file
), eof可替換成任意字元,只要前後一致即可
例子3:
指令碼中:
fdisk /dev/sdb
+20m
weof
Python之資料處理
靠別人不如靠自己,學學學學學學學學!原資料 需求 coding utf 8 txtfile aminer1.txt newtxtfile open new txtfile,w with open txtfile,r as file to read lines file to read.readlin...
python之資料處理
檔案資料讀寫的基本操作 import this 本地檔案的界定 指向乙個本地儲存的檔案,是乙個連線或者乙個對映 path1 c users 11786 desktop test.txt 正斜線兩個或者反斜線乙個來用於資料路徑的表達 再或者用r 寫在檔案路徑外面 推薦第三種 path2 c users...
資料互動之資料處理
資料互動必須通過協議來實現,所以互動雙方必須遵循一定的讀寫規則 我的方法很簡單但可以用,如果大家有好的方法,不妨交流一下 實現方法 資料流類datastream有兩個char 型指標,分別用來儲存讀寫的資料,還有w pos,r pos兩個資料用來記錄讀寫的位置,而且要用到互斥鎖,確保指標的安全性 v...