主页 > 评测 > 正文

曼城无力支付梅西转会费s搜索怎么去掉,shell原

来源:德国足球甲级联赛/绥芬河/德国足球甲级联赛 2021-12-04 19:05

一、学习线路如下

SHELL理论部分

二、变量

1.变量的概念

变量(variable)就是给某个信息片段所起的名字。每个变量都有一个值(value),这是由你分配给变量的内容或信息。变量值可以是空值,也就是不含任何字符。

2.变量的命名

SHELL变量名称的开头是一个字母互或下划线符号,后面可以接着任意长度的字母、数字或下划线符号。变量名称的字符长度并无限制。Shell变量可用来保存字符串值,所能保存的字符数同样没有限制。

3.变量的赋值方式

先写变量名称,紧接着'='字符,最后是新值,中间完全没有任何空格。当你想取出Shell变量的值时,需于变量名称前面加上'$'字符。当所赋值的值内含空格时,请加上引号。

4.变量分类

1.本地变量-临时变量 用户自定义的变量,定义在脚本或者当前终端中,脚本执行完毕或终端结束变量失败。2.环境变量-用户私有变量 定义在用户家目录下的.bashrc或.bash_profile文件中,用户私有变量,只能本用户使用。 查看当前用户的环境变量env 查看当前用户的所有变量(临时变量与环境变量)set 将当前变量变成环境变量export3.全局变量 所有用户都能够使用,export声明变量。 也可以在/etc/profile /etc/bashrc下永久定义4.内置变量 系统变量(内置bash中的变量)shell本身已经固定好了它的名字和作用。

三、文本处理的命令

cut整数截取语法: command|cut option -c: 以字符为单位进行分割。 -d: 自定义分隔符,默认为制表符。\t -f: 与-d一起使用,指定显示哪个区域。例:cat /etc/passwd|cut -d ":" -f1,7tr 字符转换:替换,删除语法: commands|tr 'string1' 'string2' tr 'string1' 'string2' < filename tr options 'string1' < filename -d 删除字符串1中所有输入字符。 -s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。 a-z 任意小写 A-Z 任意大写 0-9 任意数字sort排序sort:将文件的每一行作为一个单位,从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。 -u :去除重复行 -r :降序排列,默认是升序 -o : 将排序结果输出到文件中 类似 重定向符号> -n :以数字排序,默认是按字符排序 -t :分隔符 -k :第N列 -b :忽略前导空格。 -R :随机排序,每次运行的结果均不同。 uniq 去除连续的重复行 -i: 忽略大小写 -c: 统计重复行次数 -d:只显示重复行tee 双向输出 -a 双向追加重定向 例:echo 999|tee -a file1 paste工具用于合并文件行输出到屏幕,不会改动源文件 -d:自定义间隔符,默认是tab,只接受一个字符 -s:将每个文件中的所有内容按照一行输出,文件中的行与行以TAB间隔。 echo输出语法:echo [-ne][字符串] -n 不要在最后自动换行 -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出: 转义字符 \a 发出警告声; \b 删除前一个字符; \c 最后不加上换行符号; \f 换行但光标仍旧停留在原来的位置; \n 换行且光标移至行首; \r 光标移至行首,但不换行; \t 插入tab; \v 与\f相同; \ 插入\字符; \0nnn 打印nnn(八进制)所代表的ASCII字符; 备注:数字0 不要理解成字母o \xNN 打印NN(十六进制)所代表的ASCII字符; 输出字体颜色 echo -e “\033[30m 黑色字 \033[0m”echo -e “\033[31m 红色字 \033[0m”echo -e “\033[32m 绿色字 \033[0m”echo -e “\033[33m 黄色字 \033[0m”echo -e “\033[34m 蓝色字 \033[0m”echo -e “\033[35m 紫色字 \033[0m”echo -e “\033[36m 天蓝字 \033[0m”echo -e “\033[37m 白色字 \033[0m”read默认接受键盘的输入,回车符代表输入结束OPTIONS: -p打印信息 -t限定时间 -s不回显 -n输入字符个数

四、SHELL字符

!: 执行历史命令 !! 执行上一条命令$: 变量中取内容符+ - * \ %: 对应数学运算 加 减 乘 除 取余数&: 后台执行;: 分号可以在shell中一行执行多个命令,命令之间用分号分割\: 转义字符``: 反引号 命令中执行命令 echo "today is `date +%F`"' ': 单引号,脚本中字符串要用单引号引起来,但是不同于双引号的是,单引号不解释变量 " ": 双引号,脚本中出现的字符串可以用双引号引起来通配符 ~: 家目录 # cd ~ 代表进入用户家目录 *: 星号是shell中的通配符 匹配所有 : 问号是shell中的通配符 匹配除回车以外的一个字符 [list]: 匹配[list]中的任意单个字符 [!list]: 匹配除list中的任意单个字符 {string1,string2,...}: 匹配string1,string2或更多字符串重定向 > 覆盖输入 >> 追加输入 < 输出 << 追加输出管道命令 |: 管道符 上一个命令的输出作为下一个命令的输入

五、正则表达式

1.正则的介绍: 正则表达式(Regular Expression、regex或regexp,缩写为RE),也译为正规表示法、常规表示法,是一种字符模式,用于在查找过程中匹配指定的字符。

2.正则表达式中相应符号的解释

1)定位符 ^ 锚定开头 ^a 以a开头 默认锚定一个字符 $ 锚定结尾 a$ 以a结尾 默认锚定一个字符 \<,\b: 锚定单词首部 \>,\b: 锚定单词尾部2)匹配符 . 匹配除回车以外的任意一个字符 () 字符串分组 [] 定义字符类,匹配括号中的一个字符 [^] 表示否定括号中出现字符类中的字符,取反 \ 转义字符 | 或3)限定符 * 某个字符之后加星号表示该字符不出现或出现多次 ? 表示该字符出现一次或不出现 + 表示该字符出现一次或多次 {n,m} 某个字符之后出现,表示该字符最少出现n次,最多m次 {m} 正好出现了m次

3.正则表达式POSIX字符

[:alnum:] 匹配任意字母字符0-9 a-z A-Z[:alpha:] 匹配任意字母,大写或小写[:digit:] 数字 0-9[:graph:] 非空字符( 非空格控制字符)[:lower:] 小写字符a-z[:upper:] 大写字符A-Z[:cntrl:] 控制字符[:print:] 非空字符( 包括空格)[:punct:] 标点符号[:blank:] 空格和TAB字符[:xdigit:] 16 进制数字[:space:] 所有空白字符( 新行、空格、制表符)

六、数组

1.生成数组 数组名称=(元素1 元素2 元素3 ...)2.追加数组 数组名称[n]=value3.一次赋多个值 array=(var1 var2 var3 var4) array1=(`cat /etc/passwd`)4.数据取值 ${array[i]} i表示元素的索引 使用@ 或 * 可以获取数组中的所有元素: echo ${array[0]} 获取第一个元素 echo ${array[*]} 获取数组里的所有元素 echo ${#array[*]} 获取数组里所有元素个数 echo ${!array[@]} 获取数组元素的索引索引 echo ${array[@]:1:2} 访问指定的元素;1代表从索引为1的元素开始获取;2代表获取后面几个元素 5.关联数组 1.声明关联数组 declare -A asso_array1 2.赋值 asso_array1[linux]=one 3.一次赋多个值 asso_array1=([name1]=harry [name2]=jack [name3]=amy

七、if语句判断

1.赋值运算 =2.四则运算: + - * / % ** 运算命令: expr: 例: expr 1 + 1 let: 例:let a=100/3;echo a $(()) 例:echo $((1+1)) bc 例:echo "scale=2;3+1"|bc3.逻辑运算 $$ || !4.比较运算 -eq 等于 -gt 大于 -lt 小于 -ge 大于等于 -le 小于等于 -ne 不等于 字符串比较晕眩 == 等于 != 不等于 -n 检查字符串的长度是否大于0 -z 检查字符串的长度的是否为05.文件类型及新旧判断 -d 检查文件是否存在且为目录 -e 检查文件是否存在 -f 检查文件是否存在且为文件 -r 检查文件是否存在且可读 -s 检查文件是否存在且不为空 -w 检查文件是否存在且可写 -x 检查文件是否存在且可执行 -O 检查文件是否存在并且被当前用户拥有 -G 检查文件是否存在并且默认组为当前用户组 file1 -nt file2 检查file1是否比file2新 file1 -ot file2 检查file1是否比file2旧 file1 -ef file2 检查file1是否与file2是同一个文件,判定依据的是i节点6.多重条件判断 -a 和&& 同真为真 -o 和|| 任意满足一个则为真 6.if高级用法 if (()) 可植入数学表达式 if [[]] 可在条件中使用通配符

八、循环语句

1.for循环的格式 for i in {1..10} for i in 1 2 3 4 for i in `seq 10` for ((expr1;expr2;expr3)) do command done 2.while循环的格式 while [ 表达式 ] do command... done 注:":" or "True" 代表真 3.case语句格式 case $var in        #定义变量;var代表是变量名 pattern 1)         #模式1;用 | 分割多个模式,相当于or   command1        #需要执行的语句   ;;           #两个分号代表命令结束 pattern 2)   command2   ;;  *)         #default,不满足以上模式,默认执行*)下面的语句   command4   ;; esac #esac表示case语句结束4.until语句 与while语法一致,until循环当条件为假时执行 5.循环控制 break 马上停止执行本次循环,执行循环体后面的代码 continue 循环体内的下面代码不执行,重新开始下一次循环 sleep 控制循环 shift 位置参数像左移,默认移动一位 exit 脚本退出命令

九、SHELL函数

1.shell函数的介绍 shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数。给这段代码起个名字称为函数名,后续可以直接调用该段代码的功能。

将完成一个功能的一段代码进行命名、封装

函数的优点: 1. 代码模块化,调用方便,节省内存 2. 代码模块化,代码量少,排错简单 3. 代码模块化,可以改变代码的执行顺序2.函数定义 语法一: 函数名 () { 代码块 return N } 语法二: function 函数名 { 代码块 return N } 调用函数时直接输入函数名即可

十、文本处理之grep

grep: 负责从数据源中检索对应的字符串,行过滤。grep用于根据关键字进行行过滤grep options 'keys' filename OPTIONS: -i: 不区分大小写 -v: 查找不包含指定内容的行,反向选择 -w: 按单词搜索 -n: 显示行号 -A: 显示匹配行及后面多少行 -B: 显示匹配行及前面多少行 -o: 打印匹配关键字 -c: 统计匹配到的次数 -r: 逐层遍历目录查找 -C: 显示匹配行前后多少行 -l:只列出匹配的文件名 -L:列出不匹配的文件名 -e: 使用正则匹配 -E:使用扩展正则匹配 ^key:以关键字开头 key$:以关键字结尾 ^$:匹配空行 --color=auto :可以将找到的关键词部分加上颜色的显示

十一、文本处理之sed

1.sed介绍 sed是Linux中提供的一个外部命令,它是一个行(流)编辑器,编辑对象是文件中的行。2.sed语法 sed [options]'{command}{flags}' [filename] 命令选项: -e script 将脚本中指定的命令添加到处理输入时执行的命令中  多条件,一行中要有多个操作 -f script 将文件中指定的命令添加到处理输入时执行的命令中 -n     抑制自动输出 -i     编辑文件内容 -i.bak   修改时同时创建.bak备份文件。 -r     使用扩展的正则表达式 !     取反 (跟在模式条件后与shell有所区别) sed常用内部命令 曾:a(在匹配后面添加) i(在匹配前面添加) 删:d 改:s(替换查找字符串) c(更改行)y(转换) 查:p(打印) flags 数字: 表示新文本替换的模式 g: 表示用新文本替换现有文本的全部实例 p: 表示打印原始的内容 w filename: 将替换的结果写入文件

十二、文本处理之awk

1.awk介绍: awk是一种可以处理数据、产生格式化报表的语言。awk认为文件中的每一行是一条记录,记录与记录的分隔符为换行符,每一列是一个字段,字段与字段的分隔符默认是一个或多个空格活tab制表符 awk的工作方式是读取数据,将每一行数据视为一条记录(record),每条记录以字段分隔符分为若干字段,然后输出各字段的值。 2.awk语法awk [options] [BEGIN] {program} [END] [filename] 常用命令选项: -F fs 指定描绘一行中数据字段的文件分隔符,默认空格 -f file 指定读取程序的文件名 -v val=value 定义awk程序中使用的变量和默认值 awk程序运行优先级是: 1)BEGIN:在开始处理数据流之间执行 2)program:如何处理数据流,必选项 3)END:处理完数据流后执行,可选项 3.awk基本应用1)对字段(列)进行截取 awk -F: '{print $1,$NF}' /etc/passwd root /bin/bash2)对记录(行)的提取 指定行号: awk -F: 'NR==1{print $1,$NF};NR==3{print $1,$NF}' /etc/passwd root /bin/bash daemon /sbin/nologin 注:NR:指定行号 精确匹配 awk -F: '$1=="user20"{print $1,$NF}' /etc/passwd user20 /bin/bash 模糊匹配 awk -F: '$1 ~ "^user20"{print $1,$NF}' /etc/passwd user20 /bin/bash3)定义变量和数组 定义变量: awk -v name='jiangfeng' 'BEGIN{print name}' jiangfeng 定义数组 awk 'BEGIN{ array[0]="jiang";array[10]="feng";print array[0]}' jiang4)awk运算 1.赋值运算= 2.比较运算>= == < <= != 如果比较的是字符串则按ascii编码顺序表比较。如果结果返回为真则用1表示,如果返回为假则用0表示 awk 'BEGIN{print "ca" >= "ba"}' 1 注:不能用">",意义为重定向 3.数学运算 + - * / % ** ++ -- [root@server88 ~]# awk 'BEGIN{print 2**100}' 1267650600228229401496703205376 [root@server88 ~]# awk -v 'num=1' 'BEGIN{num++;print num}' 2 4.逻辑运算 && || awk -v 'val=a' 'BEGIN{print "ca" >= "ba" ||"a"==val}' 1 5.匹配运算 ~ !~ == != 详情见:2)对记录(行)的提取4.awk环境变量变量 描述FIELDWIDTHS 以空格分隔的数字列表,用空格定义每个数据字段的精确宽度FS 输入字段分隔符号 数据源的字段分隔符-FOFS 输出字段分隔符号RS 输入记录分隔符ORS 输出记录分隔符号例:awk 'BEGIN{FIELDWIDTHS="5 2 8"}NR==1{print $1,$2,$3}' /etc/passwdroot: x: 0:0:rootawk 'BEGIN{FS=":"}NR==1{print $1,$NF}' /etc/passwdroot /bin/bashawk 'BEGIN{FS=":";OFS="-"}NR==1{print $1,$NF}' /etc/passwdroot-/bin/bash5.流程控制1)if判断语句awk '{if($1>5)print $0}' numawk '{if($1>5)print $1/2;else print $1*2}' num2)for循环语句awk '{sum=0;for (i=1;i<4;i++){sum+=$i}print sum}' num23)while循环语句awk '{sum=0;i=1;while(sum<150){sum+=$i;i++}print sum}' num24)do...while语句awk '{sum=0;i=1;do{sum+=$i;i++}while(sum<150);print sum}' num2

网友评论

发布

热门相关

标签
55直播体育直播nba腾讯直播多纳多尼西游却东行nba过人视频瑞典vs英格兰265足球之家鲨威法拉利英文名热火vs马刺直播9305热火vs魔术录像360bonba总冠军奖杯欧冠直播表齐达内集锦足彩单场美洲杯冠军加纳足球队丽莎穆勒老东家wevsrng上海电视湖人灰熊西甲三月最佳乒乓球比赛安迪穆勒丹麦vs英格兰天外飞仙76人ufc直播我爱科比论坛李铁老婆澳大利亚女篮多瑙大奖赛赛程瑞典足球队皇马vs格拉纳达克洛普76人胜灰熊群殴视频小马丁内斯索拉里nba百事通直播云南卫视直播nba全明星视频巴尔特拉台球高手乌尔济切尼鲁尼年薪梅西壁纸米尔科中国叙利亚文体频道维拉vs利物浦查迪百事通直播索蒂尔里德穆勒安迪卡罗尔cba总决赛g3回放孟菲斯黑龙江电视台中国10法国AC米兰02阿森纳萨凡娜布莱德科嫂露胸照雷霆火箭比赛g7nba录像湖人火箭vs爵士录像张一米利托格尔格斯cba总决赛g3直播黄播app免费u23亚洲杯赛程孙杨世锦赛爆射裁判郑仁英历届世界杯270欧元2019nba选秀钱江频道横滨天气保定容大欠薪football365巴萨30利物浦NBA前总裁去世戴利nba灌篮视频伊利斯杰里米埃文斯王记得探球网韩国对阵德国冰岛队jrs005直播男排世锦赛马尔基西奥

没有更多了

分享到微信朋友圈×
打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。