shell学习
简单记录
awk
awk '{print $1}' fileName 查看文件的第一行
$0 所有行
$1 第一列 $2 第二列 $n 第n列
awk '{print $0}' fileName #查看文件所有列
awk '{print $1,$2}' fileName #查看文件第一列和第二列
awk '{$1=null;print $0}' fileName #不显示文件第一列
awk '{$1=1;print $0}' fileName #将第一列全部改为1并显示文件所有列
awk 'END{print NR}' #查看文件行数
awk '{for(i=1; i<= NF; i++)a[NR, i]=$i} END{for(j=1; j<=NF; j++)for(k=1; k<=NR; k++)printf k==NR? a[k, j] RS: a[k, j] FS}' fileName #将文件行变为列(颠倒)
Example:
sample1 1 sample1 sample2 sample3
sample2 2 → 1 2 3
sample3 3
for 循环
记录几种shell中从1到100的循环
方法
类c语言
for ((i=1; i<=100; i ++))
do
echo $i
done
in使用
for i in {1..100}
do
echo $i
done
seq使用
作用
seq - print a sequence of numbers
代码
[html] view plain copy
for i in `seq 1 100`
do
echo $i
done
grep
Usage: grep [OPTION]… PATTERN [FILE]…
Search for PATTERN in each FILE or standard input.
PATTERN is, by default, a basic regular expression (BRE).
Example: grep -i ‘hello world’ menu.h main.c
-a 不要忽略二进制数据。
-A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。
-b 在显示符合范本样式的那一行之外,并显示该行之前的内容。
-c 计算找到 '字符串' 的次数。
-C<显示列数>或-<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
-d<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。
-e<范本样式> 指定字符串作为查找文件内容的范本样式。
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
-f<范本文件> 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式。
-F 将范本样式视为固定字符串的列表。
-G 将范本样式视为普通的表示法来使用。
-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H 在显示符合范本样式的那一列之前,标示该列的文件名称。
-i 忽略大小写的不同,所以大小写视为相同
-L 列出文件内容不符合指定的范本样式的文件名称。
-n 顺便输出行号。
-q 不显示任何信息。
-R/-r 此参数的效果和指定“
-d recurse”参数相同。
-s 不显示错误信息。
-v 反转查找。
-w 只显示全字符合的列。
-x 只显示全列符合的列。
-y 此参数效果跟“-i”相同。
-o 只输出文件中匹配到的部分。
#配备的文本标记颜色
grep "text" file_name --color=auto
#搜索多个文件并查找匹配文本在哪些文件中:
grep -l "text" file1 file2 file3...
获取系统时间
sysTime=`date` ##等号两边不能有空格
echo "System time : " $sysTime
date '+%H:%M:%S'
date '+%Y-%m-%d %H:%M:%S'
清理内存
1.清理前内存使用情况
free -m
2.开始清理
echo 1 > /proc/sys/vm/drop_caches
3.清理后内存使用情况
free -m
4.完成!
zcat
命令查看压缩文件内容
zcat命令用于不真正解压缩文件,就能显示压缩包中文件的内容的场合。
语法:
zcat(选项) 压缩文件名
-S:指定gzip格式的压缩包的后缀。当后缀不是标准压缩包后缀时使用此选项;
-c:将文件内容写到标注输出;
-d:执行解压缩操作;
-l:显示压缩包中文件的列表;
-L:显示软件许可信息;
-q:禁用警告信息;
-r:在目录上执行递归操作;
-t:测试压缩文件的完整性;
-V:显示指令的版本信息;
-l:更快的压缩速度;
-9:更高的压缩比。
例如,现在不想使用gzip命令将file.gz文件解压,但是想查看其中的内容,可以执行命令:
zcat file.gz