CSDN博客

img gridyao

sed/awk与unix命令等价代码

发表于2004/10/22 9:23:00  800人阅读

分类: Shell


sed/awk与unix命令等价代码

转自: www.chinaunix.net 特此感谢
sed与unix 命令等价代码
-------------------------------------------------------------------------------
cat |sed ':'
cat -s | sed '/./,/^$/!d'
tac | sed '1!G;h;$!d'
grep | sed '/patt/!d'
grep -v | sed '/patt/d'
head | sed '10q'
head -1 | sed 'q'
tail | sed -e ':a' -e '$q;N;11,$D;ba'
tail -1 | sed '$!d'
tail -f | sed -u '/./!d'
cut -c 10 | sed 's/(.){10}.*/1/'
cut -d: -f4 | sed 's/(([^:]*):){4}.*/2/'
tr A-Z a-z | sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'
tr a-z A-Z | sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'
tr -s ' ' | sed 's/ +/ /g'
tr -d '12' | sed 'H;$!d;g;s/n//g'
wc -l | sed -n '$='
uniq | sed 'N;/^(.*)n1$/!P;D'
rev | sed '/n/!G;s/(.)(.*n)/&21/;//D;s/.//'
basename | sed 's,.*/,,'
dirname | sed 's,[^/]*$,,' xargs | sed -e ':a' -e '$!N;s/n/ /;ta'
paste -sd: | sed -e ':a' -e '$!N;s/n/:/;ta'
cat -n | sed '=' | sed '$!N;s/n/ /'
grep -n | sed -n '/patt/{=;p;}' | sed '$!N;s/n/:/'
cp orig new | sed 'w new' orig[/code:1:739eb4cef5]
-------------------------------------------------------------------------------
awk与unix 命令等价代码
特此感谢作者:飞灰橙
------------------------------------------------------------------------------
cat |awk '{print}'
cat -s |awk '{blank = NF == 0 ? ++blank : 0; if (blank tac |awk '{t[NR] = $0;}END{for (i = NR; i >= 1; i--) print t[i];}'
grep patten |awk '/patten/{print}'
grep -v patten |awk '! /patten/{print}'
head |awk 'NR head -1 |awk '{print; exit; }' 24.sh
tail |awk '{t[n++ % 10] = $0}END{for (i = 0; i <10 print> tail -1 |awk '{t = $0}END{print t}'
cut -c 10 |awk '{print substr($0, 10, 1)}'
cut -d: -f4 |awk -F: '{if (NF > 1) print $4; else print;}'
tr A-Z a-z |awk '{print tolower($0);}' se.sh
tr a-z A-Z |awk '{print toupper($0);}' se.sh
tr -s ' ' |awk '{print gensub(" +", " ", "g")}'
tr -d '12' |awk '{printf "%s", $0}'
wc -l |awk 'END{printf "% 7dn", NR-1}'
uniq |awk '{if (NR == 1 || ln != $0) print; ln = $0;}'
rev |awk '{l = ""; for (i = length($0); i > 0; i--) printf "%c", substr($0, i, 1); print "";}'
basename |awk -F'/' '{print $NF}'
dirname |awk -F'/' '{if (NF xargs |awk '{printf "%s ", $0}END{print}'
paste -sd: |awk 'NR > 1{printf "s", $0}'
cat -n |awk '{printf "% 6d %sn", NR, $0}'
grep -n |awk '/ss/{print NR":"$0}'
cp orig new |awk '{print > "new"}' orig
-------------------------------------------------------------------------------

阅读全文
0 0

相关文章推荐

img
取 消
img