cut和sort的简单应用-bash学习(1)
2010-08-18 12:44
246 查看
Input file: test.txt
3 demos: cutsh, cutsh2, sortsh.
outputs:cutout2, cutout3, cutout4, timesort
run: $./cutsh; $./cutsh2; $./sortsh
Descriptions to demo
5.1
cutsh
(注意空格的使用
;
注意对齐。)
while
的用法总结:
1)
#while [ $var -le 4 ]; do
如果
while
使用放括弧,放括弧前后要用空格分开,后面有分号,则紧跟
do
。
2)
#while [ $var -le 4 ]
如果
while
使用放括弧,放括弧前后要用空格分开,后面没有分号,换行加
do
。
3)
while
((
$var
<=
4
))
也可直接使用双括弧,换行加
do
。
cut
的用法:
cut -f list [-d delim] [-s]
[file...]
-f 表示字段
field,表示把文件
file中每一行上的字段或一个
4000
字符串中的字段萃取出来;使用
list参数界定需要被萃取出来的字段的范围;
-d 指定字段分割符;默认是
tab键所表示的字符;
A:以逗号分割的数字,表示要从文本行中的相应位置处萃取出对应的字符;
例如:
cut -d:
-f
1,2,4 file #表示把文件
file中的每一行上的第一个字段、第二个字段和第四个字段萃取出来;此时共萃取出来
3个字段;字段之间使用的分割符是冒号;
B:以一个短横线分割的数字,表示从横线左边的数字表示的字段位置处,开始依次递增
1,直到到达横线右边的数字表示的字段位置处,把横线左边的数字和右边的数字之间的连续数字所表示的字段位置处的字段萃取出来;
例如:
cut -d:
-f
1-4 file #表示把文件
file中的每一行上的第一个字段到第四个字段之间的所有字段萃取出来,此时共萃取出来
4个字段;字段之间使用的分割符是冒号;
5.2
cutsh2
(与
cutsh
的区别在于,自动计算出
file
的
column
数)
awk
的用法?
:
5.3
sortsh
sort
的用法?
总结:
·
学习
sort
、
cut
、
awk
的用法
·
学习
bash shell
的基本写法
·
学习
while
语句
3 demos: cutsh, cutsh2, sortsh.
outputs:cutout2, cutout3, cutout4, timesort
run: $./cutsh; $./cutsh2; $./sortsh
Descriptions to demo
5.1
cutsh
(注意空格的使用
;
注意对齐。)
1. #! /bin/bash –x (bash文件开头格式,-x标识添加跟踪) 2. echo "There are" $1 "columns." ($1是执行文件后的第一个参数,$2是第只二个参数。比如:$./cutsh 3 4,那么$1是3,$2是4。) 3. var=2 (定义了一个变量,赋值为2,调用变量时用$var) 4. #while [ $var -le 4 ]; do (le,小于等于)(最好不使用此方法,麻烦) 5. #while [ $var -lt 4 ]; do (lt,小于) 6. #while [ $var -le 4 ] (gt,大于) 7. while (($var <= 4)) 8. do 9. cut -d "|" -f $var-$1 test.txt > cutout$var 10. var=$((var+1)) (变量自加) 11. done
while
的用法总结:
1)
#while [ $var -le 4 ]; do
如果
while
使用放括弧,放括弧前后要用空格分开,后面有分号,则紧跟
do
。
2)
#while [ $var -le 4 ]
如果
while
使用放括弧,放括弧前后要用空格分开,后面没有分号,换行加
do
。
3)
while
((
$var
<=
4
))
也可直接使用双括弧,换行加
do
。
cut
的用法:
cut -f list [-d delim] [-s]
[file...]
-f 表示字段
field,表示把文件
file中每一行上的字段或一个
4000
字符串中的字段萃取出来;使用
list参数界定需要被萃取出来的字段的范围;
-d 指定字段分割符;默认是
tab键所表示的字符;
A:以逗号分割的数字,表示要从文本行中的相应位置处萃取出对应的字符;
例如:
cut -d:
-f
1,2,4 file #表示把文件
file中的每一行上的第一个字段、第二个字段和第四个字段萃取出来;此时共萃取出来
3个字段;字段之间使用的分割符是冒号;
B:以一个短横线分割的数字,表示从横线左边的数字表示的字段位置处,开始依次递增
1,直到到达横线右边的数字表示的字段位置处,把横线左边的数字和右边的数字之间的连续数字所表示的字段位置处的字段萃取出来;
例如:
cut -d:
-f
1-4 file #表示把文件
file中的每一行上的第一个字段到第四个字段之间的所有字段萃取出来,此时共萃取出来
4个字段;字段之间使用的分割符是冒号;
5.2
cutsh2
(与
cutsh
的区别在于,自动计算出
file
的
column
数)
#! /bin/bash -x var=2 A=$(awk -F '|' '{print NF;exit}' test.txt) #(计算column数) echo "There are" $A "column" #while [ $var -le 4 ]; do #while [ $var -lt 4 ]; do #while [ $var -le 4 ] while (($var <= $A )) do cut -d "|" -f $var-$A test.txt > cutout$var var=$((var+1)) done
awk
的用法?
:
5.3
sortsh
#! /bin/sh sort -d -k 2,2 -t/| -o timesort test.txt
sort
的用法?
总结:
·
学习
sort
、
cut
、
awk
的用法
·
学习
bash shell
的基本写法
·
学习
while
语句
相关文章推荐
- Linux——bash应用技巧简单学习笔记
- 0219自学Linux_bash特性+命令学习(cut,sort,uniq,wc,tr,histroy,alias)+通配符glob
- Linux学习总结(十八)几个简单的文本处理工具cut sort tr split
- Linux下正则表达式以及几种工具:grep,sed,awk,cut,sort,uniq的简单应用
- android基础学习之wifi的简单应用
- U3d学习第二天--创建树和预设体、三种灯光属性及添加耀斑、音频的简单应用
- Ajax学习与简单应用
- javaweb Filter在工作中的简单应用[从学习到工作(三)]
- 批处理学习之道:native2ascii的简单应用
- iOS学习笔记——UIPickerView的简单应用
- XML技术学习(一):DTD语法概述及简单应用举例
- 文件的排序、截取和合并--sort,cut,tr等命令应用
- JPA 学习篇(二)搭建最简单的应用环境
- Nhibernate学习教程一 简单的应用
- Spring 注解学习(一) 构建简单Web应用
- 学习Python数据分析随手笔记【一】numpy数组的函数简单应用
- stenciljs 学习二 pwa 简单应用开发
- Linux下Bash的管线pipe命令,cut,grep,sort,wc,uniq,tee,tr,col,join,past,expand
- 【狂人C】学习笔记之一个简单的乘法函数的应用