grep、sed、awk命令練習

1.顯示所有包含San的行
grep ‘San’ 1data.txt
sed -n ‘/San/p’ 1data.txt
awk -F ‘:’ ‘/San/ {print $0}’ 1data.txt ##顯示整行,不需要分隔符
awk ‘/San/ {print $0}’ 1data.txt

2.顯示所有以J開始的人名所在的行
grep -E ‘^J’ 1data.txt
sed -n ‘/^J/p’ 1data.txt
awk '/^J/ {print KaTeX parse error: Expected 'EOF', got '}' at position 2: 0}̲' 1data.txt 3.…’ 1data.txt
sed -n ‘/700/p1data.txtawk/700/p' 1data.txt awk '/700/ {print $0}’ 1data.txt
4.顯示所有不包括23850的行
grep -v ‘23850’ 1data.txt
sed -n ‘/[^23850]/p’ 1data.txt
awk ‘/[^23850]/ {print $0}’ 1data.txt ##錯誤,awk的不包含?
5.顯示所有生日在December的行
grep -E ‘11/\d{1,2}/\d{1,2}’ ##\d這裏不支持
grep -E ‘11/[0-9]{1,2}/[0-9]{1,2}’
sed -n ‘/11/[0-9]{1,2}/[0-9]{1,2}/p’ ##長度用{},但需要轉義
awk -F ‘:’ ‘{print KaTeX parse error: Expected 'EOF', got '}' at position 7: (NF-1)}̲' 1data.txt| gr…(NF-1/==^11 {print )}’ 1data.txt
6.顯示所有電話號碼的區號爲674的行
grep -E ‘674-\d{3}-\d{4}’ ##不符合,不支持/d
grep -E ‘674-[0-9]{3}-[0-9]{4}’ 1data.txt
sed -n ‘/674-\d{3}-\d{4}/p’ 1data.txt
sed -n ‘/674-[0-9]{3}-[0-9]{4}/p’ 1data.txt
awk -F ‘:’ ‘{print $2}’|grep ‘^674’ 1data.txt

7.顯示所有這樣的行:它包含一個大寫字母,後跟四個小寫字母,一個空格,和一個大寫字母
grep -E ‘[A-Z]{1}{a-z}{4} [A-Z]{1}’ 1data.txt
sed -n ‘/[A-Z]{1}{a-z}{4} [A-Z]{1}/p’

8.顯示姓以K或k開頭的行
9.顯示工資爲六位數的行,並在前面加行號
grep -En ‘[0-9]{6}1data.txtsedn/[09]/6/' 1data.txt sed -n '/[0-9]/{6/}/p’ ##不符合
10.顯示包括Lincoln或lincoln的行,並且grep對大小寫不敏感.
grep -i ‘lincoln’ 1data.txt
sed -ni ‘/lincoln/p’ 1data.txt ##不符合

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章