linux shell几个小demo
来源:互联网 发布:淘宝女童秋季外套新款 编辑:程序博客网 时间:2024/06/08 11:14
闲来无事,写几个shell script来练练手,发现我的mac下的shell和ubuntu下的shell有些语法还是有区别,网上的一些教程,在我的mac上并不适用,需要修改。
1、编写shell脚本,将/users/sunwangdong/desktop/wordcount下的大于10000k的文件信息输出
我写了一个名字为test.sh的脚本,如下所示:
#!/bin/bashfor FILE in `ls /users/sunwangdong/desktop/wordcount/`do#echo $FILEif [ -f "/users/sunwangdong/desktop/wordcount/$FILE" ]then#echo $FILEif [ `ls -al /users/sunwangdong/desktop/wordcount/$FILE | awk '{print $5}'` -lt 10000 ]thenls -al /users/sunwangdong/desktop/wordcount/$FILE | awk '{print $0}'fifidone其中,第一行的for循环中,内部需要用反斜号`来表示,在第二个if语句中,首先要用ls将显示的文件通过管道发给awk,然后由awk来输出第5列的内容,然后再判断其值是否大于10000k,那么这里在和10000k比较之前,需要用反斜号阔住。结果如下:
-rw-r--r--@ 1 sunwangdong staff 6148 3 3 23:46 /users/sunwangdong/desktop/wordcount/.DS_Store-rw-r--r-- 1 sunwangdong staff 1916 2 26 21:43 /users/sunwangdong/desktop/wordcount/pom.xml-rw-r--r-- 1 sunwangdong staff 9789 2 26 21:29 /users/sunwangdong/desktop/wordcount/wordcount.iml2、一个有序文件:file_sort
内容是:
1
2
3
4
5
6
要对其进行切分成3个文件 file.1 file.2 file.3
要求:第n行内容 < 任意文件的n+1行内容
如:
file.1
1
4
file.2
2
5
file.3
3
6
#!/bin/bashi=1while(($i<=6))do int=$((i%3)) if [ $int -eq 0 ] then int=$((int+3)) fi awk -v num=$i 'NR==num {print}' file_sort >> file.$int i=$((i+1)) done很简单易懂的方法实现,注意在if语句中,中括号前有一个空格,shell特别注重这些空格。
阅读全文
0 0
- linux shell几个小demo
- linux 几个简单shell脚本demo
- 几个简单shell Demo
- 几个shell小技巧
- 介绍几个shell小知识
- 几个shell程序设计小知识
- SHELL编程几个小例子
- linux shell编程入门demo
- linux系统-shell编程-几个shell脚本
- Linux Shell小知识
- Linux操作小练习 demo
- Linux定时任务小demo
- shell的几个实际小例子
- Shell脚本编写的几个小知识点
- 几个Linux命令行小技巧
- 几个小的Linux系统
- Linux开发几个小技巧
- 几个shell程序设计小知识(shell常识部分)
- 设计模式——单例模式
- 网络编程中常见的头文件
- GreenPlum 集群 迷雾重重
- python——文件操作
- ZJCOJ 勤劳的ACgirls 组合数+求末尾的0
- linux shell几个小demo
- python——面向对象相关
- 第九章——查找
- python——面向对象进阶
- HDOJ 2160 母猪的故事
- Maven学习(二)
- python——面向对象基础
- python字符串实战
- Android_View详解