learning-bash-5-sed 命令 使用
[TOC]
sed命令详解 sed:Stream Editor文本流编辑,sed是一个“非交互式的”面向字符流的编辑器。能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上。还可以对原文件改动,但是不会再屏幕上返回结果。
sed命令的语法格式:
sed的命令格式: sed [option] ‘sed command’filename
sed的脚本格式:sed [option] -f ‘sed script’filename
sed命令的选项(option):12345-n :只打印模式匹配的行-e :直接在命令行模式上进行sed动作编辑,此为默认选项-f :将sed的动作写在一个文件内,用–f filename 执行filename内的sed动作-r :支持扩展表达式-i :直接修改文件内容
-f :将sed的动作写在一个文件内,用–f filename 执行filename内的sed动作
-r :支持扩展表达式
-i :直接修改文件内容
sed在文件中查询文本的方式:1)使用行号,可以是一个简单数字,或是一个行号 ...
typora-常用快捷键
[TOC]
1. 字体编辑1.1 大小:大小:ctr + 数字 或 ctr + 加减号 或 ###
1.2 加粗加粗:ctr + b
1.3 倾斜倾斜:ctr + i
1.4 下划线下划线:ctr + u
1.5 删除线删除线:alt + shift + 5
1.6 上标上标 :^ + 字体 + ^
1.7 脚注脚注: [ + ^ + 脚注]
1.8 下标下标:~ + 字体 + ~
1.9 高亮显示==高亮显示==:== +字体 +==
1.10 着重关键字12淡化显示`:`+ 字体 +着重关键字`:ctr + shift +
1.11 清除格式清除格式:ctr + \
1.12 转义转义: ( sd , init)
2. 创建列表2.1 无序列表
无序列表:- + 空格 或 * + 空格
2.2 有序列表
有序列表:数字 + . +空格
2.3 任务列表
[ ] 任务列表:-+ 空格 +[ ] + 空格
3. 插入3.1 插入代码块shift + ~~~
3.2 插入数学公式$$ + enter
3.3 插入引用插入引用:> + 空格
3.4 插入分隔线插入分隔线: ...
learning-bash-4-浮点运算
[TOC]
浮点运算输入:整数,let和expr都无法进行浮点运算,但是bc和awk可以
输出:bc、expr可直接显示计算结果;let则丢弃计算结果,可通过传递结果到变量,取变量值获得计算结果。
bc&awk123456789101112131415161718192021222324#法一: #!/bash for((i=1;i<=10;i++)) do echo $i j=$(echo "$i*0.2-2.5"|bc) echo $jdone# 法二:#!/bash for((i=1;i<=10;i++)) do echo $i j=`bc <<< "0.2*(${i}-1)-2.5"` echo $jdone#法三:scale 对乘法无效$ echo "scale=3; 1/13" | bc .076$ echo "1 13" | awk '{printf("%0.3f\n",$1/$2)}' 0.077#scale用来控制小数点后面保留的位数
实例1234567891011121314151617181 ...
awk-运算符
awk 运算符算术运算符,赋值运算符,关系运算符,逻辑运算符,正则运算符
awk作为文本处理优秀工具之一,它有独自丰富的运算符。下面我们一起归纳总结一下,所有运算符。 可以分为:算术运算符,赋值运算符,关系运算符,逻辑预算法,正则运算符。
一、运算符介绍
运算符
描述
赋值运算符
= += -= = /= %= ^= *=
赋值语句
逻辑运算符
\
\
逻辑或
&&
逻辑与
正则运算符
~ ~!
匹配正则表达式和不匹配正则表达式
关系运算符
< <= > >= != ==
关系运算符
算术运算符
+ -
加,减
* / &
乘,除与求余
+ - !
一元加,减和逻辑非
^ *
求幂
++ —
增加或减少,作为前缀或后缀
其它运算符
$
字段引用
空格
字符串连接符
?:
C条件表达式
in
数组中是否存在某键值
说明:awk运算符基本与c语言相同。表达式及功能基本相同
二、实例介绍
awk赋值运算符
1a+=5; 等价于 ...
learning_lunix-常见bash操作
[TOC]
Linux 命令行快捷键常用命令123456789101112131415161718ctrl+左右键:在单词之间跳转ctrl+a:跳到本行的行首ctrl+e:跳到页尾Ctrl+u:删除当前光标前面的文字 (还有剪切功能)ctrl+k:删除当前光标后面的文字(还有剪切功能)Ctrl+L:进行清屏操作Ctrl+y:粘贴Ctrl+u或ctrl+k剪切的内容Ctrl+w:删除光标前面的单词的字符Ctrl – h :删除光标左方位置的字符Ctrl – d :删除光标右方位置的字符(注意:当前命令行没有任何字符时,会注销系统或结束终Ctrl – b :往回(左)移动一个字符Ctrl – f :往后(右)移动一个字符Ctrl – _ :回复之前的状态。撤销操作。Alt – d :由光标位置开始,往右删除单词。往行尾删Alt – b :往回(左)移动一个单词Alt – f :往后(右)移动一个单词Alt + . :使用上一条命令的最后一个参数。
Bang(!)命令1234567891011!! :执行上一条命令。^foo^bar :把上一条命令里的foo替换为bar,并执行。!wget ...
learning-bash-3
[TOC]
常用输出命令:cut命令使用抽取数据列
123456789#选项与参数:-d :后面接分隔字符。与 -f 一起使用;-f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;-c :以字符 (characters) 的单位取出固定字符区间;cut -c 1,3,5 file 抽取数据的第1,3,5 列cut -c 1-5 file 抽取数据1-5列cut -c 1,3-5 file 抽取数据第一列以及3-5列cut -c 3-5 file > new 抽取数据3-5列并保存到new
抽取数据字段
123cut -f 1 -d ':' file 抽取第一个字段,字段用使用 ':'隔开的cut -f 1,3-5 -d ' ' file 抽取第一个以及第3-5个字段,字段使用空格隔开的cut -sf 3-5 -d ':' file 抽取第3-5个字段,并抑制没有定界符‘:‘ 的行的输出
echo以下两句等价:
12echo “hello!” echo hello!
显示转义字符123echo “\”hello!\”” echo \”h ...
Youdao-Oral-English-26
打卡第二十六天swing by,顺道拜访,路过。
document.querySelectorAll('.github-emoji')
.forEach(el => {
if (!el.dataset.src) { return; }
const img = document.createElement('img');
img.style = 'display:none !important;';
img.src = el.dataset.src;
img.addEventListener('error', () => {
img.remove();
el.style.color = 'inherit';
el.style.backgroundImage = 'none';
el.style.background = ...
learning-bash-2
[TOC]
目录获取1234# 获取bash运行所在目录rundir=$(pwd)# 获取bash脚本所在目录bash_dir=$(dirname $0),dirname $0 #取得当前执行的脚本文件的父目录
补充:123$()# 如果需要把一个或一串命令的返回值赋给一个变量,可以用$(),然后把命令放入括号中。例如:LINES = $(cat filename | wc -l)
bash特殊变量:\$0, \$#, \$*, \$@, \$?, \$\$和命令行参数
变量
含义
$0
当前脚本的文件名。
$n
传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是\$1,第二个参数是\$2。
$#
传递给脚本或函数的参数个数。
$*
传递给脚本或函数的所有参数。
$@
传递给脚本或函数的所有参数。被双引号(“ “)包含时,与 \$* 稍有不同,下面将会讲到。
$?
上个命令的退出状态,或函数的返回值。
$$
当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。
\$* 和 \$@ 的 ...