Shell的几个问题——WC命令、for循环

  • A+
所属分类:shell学习笔记
本文信息本文由方法SEO顾问发表于2014-07-2409:49:29,共 964 字,转载请注明:Shell的几个问题——WC命令、for循环_【方法SEO顾问】

最近遇到几个shell问题,让以前觉得shell用的不错的我大吃一惊。

 比如wc命令可以统计一个文件的行数,如果要知道本目录所有文件的行数和总行数,使用命令:

wc -l * 2> /dev/null

如果本目录有子目录,假如只有一级子目录:

wc -l */* 2> /dev/null

如果本目录有三级子目录,则比较麻烦,需要和find命令结合:

find -print0 | wc -l --files0-from=-  2> /dev/null

这个可能很简单,但我已经真的没有想过,可能没有真正去处理大量数据吧,也没有好好去实践。

再比如,在shell脚本中有for循环,需要从1到10分别打印:

 for i in "1 2 3 4 5 6 7 8 9 10";do echo "$i"; done

 那么如果是1到100呢?这个我以前遇到过,但没有细究,可以:

       for i in $(seq 10);

       do

            echo "$i"

       done

       需要学习的东西很多,片刻不敢偷懒!!!

      找到for循环的总结,转载下:

1、 for((i=1;i<=10;i++));do echo $(expr $i \* 4);done

2、在shell中常用的是 for i in $(seq 10)

3、for i in `ls`

4、for i in ${arr[@]}

5、for i in $* ; do

6、for File in /proc/sys/net/ipv4/conf/*/accept_redirects; do

7、for i in f1 f2 f3 ;do

8、for i in *.txt

9、for i in $(ls *.txt)

10、LIST="rootfs usr data data2"

for d in $LIST; do

用for in语句自动对字符串按空格遍历的特性,对多个目录遍历

11、for i in {1..10}

12、for i in stringchar {1..10}

13、awk 'BEGIN{for(i=1; i<=10; i++) print i}'

注意:AWK中的for循环写法和C语言一样的

如果要处理好文本数据,需要精通以下几个命令:

find

wc

awk

sed

seq

tr

cat

head

tail

.......

来源:网易博客

http://leslie-chu.blog.163.com/blog/static/199863243201251603448505/

  • 版权声明:除非注明,本博客均为北京SEO方法的原创文章,转载或引用请以超链接形式标明本文地址,否则会在SEO圈内公开此种不尊重版权的行为,谢谢合作!本文地址:https://seofangfa.com/shell/shell-wc-for.html
  • 转载请注明:Shell的几个问题——WC命令、for循环_ 【方法SEO顾问】

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: