#!/bin/bash
read -p "enter a string then it can change to number" n
echo $n|sed 's/[^0-9]//g'
sum=$( echo $n|wc -L)
echo "sum=$sum"
read -p "内容" n
执行shell后键入参数$n
循环读取文件行内容
while read line
do
内容
done<<file.txt
循环执行固定次数
for i in seq 0 5
do
内容
done
awk
find
find
-a:and 必须满足两个条件才显示
-o:or 只要满足一个条件就显示
-name:按照文件名查找文件
-iname:按照文件名查找文件(忽略大小写)
-type:根据文件类型进行搜索
-perm:按照文件权限来查找文件
-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
-fprint 文件名:将匹配的文件输出到文件。
-newer file1 ! newer file2 查找更改时间比文件file1新但比文件file2旧的文件
grep
1、grep [-acinv] [--color=auto] '搜寻字符串' filename.txt
选项与参数:
-w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker
-q : 静默模式,没有任何输出,得用$?(echo $?)来判断执行成功没有,即有没有过滤到想要的内容
-l :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl 'root' /etc
-A n : 如果匹配成功,则将匹配行及其后n行一起打印出来
-B n : 如果匹配成功,则将匹配行及其前n行一起打印出来
-C n :如果匹配成功,则将匹配行及其(前后)n行一起打印出来
-E :等同于egrep,支持扩展的正则表达式;
-F :--fixed-strings:支持使用固定字符串,不支持正则表达式,相当于fgrep;
-G :--basic-regexp:支持使用基本正则表达式;
-P :--perl-regexp:支持使用pcre正则表达式;
-o : 只显示匹配的内容
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数,注意如果同时使用-cv选项是显示有多少行没有被匹配到
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
-R :搜索子目录
--color=auto :可以将找到的关键词部分加上颜色的显示喔!
条件判断
if [ ]
then
elif[]
then
fi
case $n in
1)
date
;;
2)
ls
;;
3)
who
;;
4)
pwd
;;
*)
echo "please amount 1-4 number"
;;
esac