- 统计每个单词出现的个数
cat $1|tr -s ' ' '\n'|sort|uniq -c|sort|awk '{print $2" "$1}'
- 输入7的倍数
for num in {0..500..7};
do
echo $num
done
for((i=0;i<=500;i=i+7));
do
echo $i
done
- 统计文件的行数
wc -l txt
num=0
while read line
do
num=$((num+1))
done < txt
echo $num
- 打印空行的行号
grep -n '^$' txt | cut -d ':' -f 1
num=1
while read line
do
if [ -z $line ];
then
echo $num
fi
num=$[num+1]
done < txt
5.去掉空行
grep -v -E '^$' txt
- awk num++
awk -F ':' '{sum+=$1}END{print sum}'
- 查看进程的地址
ps -ef|grep 进程A
ll /proc/pid/cwd
- sed修改文本内容
sed -i 's/a/b/g' txt
- 查看目录下文本大于1g的
find ./ -type f -size +1G
大于50m,小于100m
find ./ -size +50M -size -100M
- curl
curl www.baidu.com
curl -X POST -d "user=hy&pwd=123" url
- 写脚本实现,可以用shell、perl等。在目录/tmp下找到100个以abc开头的文件,然后把这些文件的第一行保存到文件new中
for filename in `find /tmp -type f -name "abc*"|head -n 100`
do
sed -n '1p' $filename >> new
done
find /tmp -type f -name "abc*" | head -n 100 | xargs head -q -n 1 >> new
- 文件b中有的,但是文件a中没有的所有行,保存为文件c, 并统计c的行数
grep -vxFf a b | tee c | wc -l
- 获取变量长度
${#variable}
截取:最后5个字符
${variable: -5}
- 整数相加
c=$((a+b))
c=`expr $a+$b`
c=`echo "$a+$b"|bc`
15.数组
array=('a','b','c')
echo ${array[0]}
echo ${array[@]} #打印所有元素
echo ${!array[@]} #输出索引
unset array[0] #移除元素