
linux
此间的少年1128
这个作者很懒,什么都没留下…
展开
-
shell——获取当前时间
shell中可以直接调用date,如下:注意:Y显示4位年份,如:2018;y显示2位年份,如:18。m表示月份;M表示分钟。d表示天;D则表示当前日期,如:1/18/18(也就是2018.1.18)。H表示小时,而h显示月份。s显示当前秒钟,单位为毫秒;S显示当前秒钟,单位为秒。计算时间差:date +%s 自UTC 时间 1970-01-...原创 2019-11-18 20:38:40 · 1033 阅读 · 0 评论 -
linux——awk(7):awk数组详解
awk中数组的使用。我们在其他语言中经常会使用到数组,awk中也可以使用。示例如下:与其他不同的是,awk中的数组元素值可以设置为”空字符串“,当设定某一个元素为”空字符串“时,打印出的值就是为”空“(注:”空格“不为”空“)。鉴于awk中,元素的值可以为”空“,我们就不能根据元素的值是否为”空“去判断元素是否存在了。另外即使在模式中没有提前设定某个字符的存在,如果print中进行了引用,...原创 2019-09-22 19:28:02 · 2774 阅读 · 0 评论 -
linux——awk(8):awk内置函数
awk的内置函数大致可以分为算数函数,字符串函数,时间函数,其他函数。1.算数函数rang, srand, int可以使用rand函数生成随机数,但是使用rand函数时,需要配合srand函数,否则rand函数返回的值将一直不变。srand生成的随机数是0-1之间的数。如要生成整数,可以将srand生成的数乘以100,再用int取整。2.字符串函数 sub & gsub...原创 2019-09-22 20:29:04 · 628 阅读 · 0 评论 -
linux——awk(9):"三元运算"与"打印奇偶行"
三元运算语法:(替代if……else)条件?结果1:结果2上述语法表示,如果条件成立,则返回结果1,如果条件不成立,则返回结果2表达式1?表达式2:表达式3上述语法表示,如果表所式1为真,则执行表达式2,如果表达式1为假,则执行表达式3.打印奇偶行1.在awk中,如果省略了模式对应的动作,当前行满足模式时,默认动作为打印整行,即{print $0}.2.在awk...原创 2019-09-22 22:43:56 · 513 阅读 · 0 评论 -
linux——sed
sed常见的命令参数:命令参数 含义 p print d delete = 打印匹配的行号 -n 取消默认的完成输出,只打印出需要的行数 -e 允许多项编辑 -i 修改文件内容 -r 不需要转义 & 表示在sed中前一次匹配的结果 1.常见输出命令1.1 打印第单行,打印多行注意“-n...原创 2019-09-27 08:32:09 · 163 阅读 · 0 评论 -
linux——sort & uniq
第一部分:sortsort:将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。常用参数:参数 意义 -u 在输出行中去除重复行 -r sort默认排序是升序,加上-r即可降序输出 -o 将排序后内容输出到指定文件 -n 10与2的排序问题,即将内容按照数字排序 -t ...原创 2019-10-07 23:02:43 · 657 阅读 · 0 评论 -
linux——cut
参数 意义 -d 指定字段分隔符 -f 显示指定列 --complement 提取指定字段之外的列 -b 表示字节 -c 表示字符 1.-f选项提取指定字段,通常与-d连用。如下所示,-d来指定文本的分隔符。-f来选定要输出的列数。2.指定字段的字符或者字节范围cut命令可以将一串字符作为列来显示,字符字段的记法:...原创 2019-10-07 23:30:23 · 172 阅读 · 0 评论 -
shell——字符串截取
1.# & ## 号截取,删除左边字符,保留右边字符如下所示,${var#*//},其中#为运算符,*//表示从左边开始删除第一个//及左边所有字符。${var##*/},其中##为运算符,*/表示删除最后(最右边)一个/及左边所有字符。${var#*/}中可以看做删除从左边起第一个“/”及左边所有字符。2.% & %%截取,删除右边字符,保留左边字符3...原创 2019-10-08 21:18:06 · 1229 阅读 · 0 评论 -
shell——变量
1.shell变量定义变量时,变量名不加$,引用变量时,需要加$.只读变量:使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。删除变量:使用unset可以删除变量。注,unset不能删除只读变量。变量类型:运行shell时,会同时存在三种变量:1) 局部变量局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动...原创 2019-10-08 21:19:33 · 255 阅读 · 0 评论 -
shell——基本运算符
1.算术运算运算符 说明 举例 + 加法 `expr $a + $b` 结果为30。 - 减法 `expr $a - $b` 结果为 -10。 * 乘法 `expr $a \* $b` 结果为 200。 / 除法 `expr $b / $a` 结果为2。 % 取余 `expr $b % $a` 结...原创 2019-10-09 20:35:56 · 226 阅读 · 0 评论 -
shell——流程控制
1.if else1.1 ifif conditionthencommand1command2...fi1.2 if elseif conditionthencommand1command2...elsecommand3fi1.3if condition1thencommand1elif condition2then command2...原创 2019-10-09 21:21:10 · 174 阅读 · 0 评论 -
shell按照行读取文件
如上所示,for与while不同,while读取文件是一行行读取,但是在for i in `cat readme.txt`中,它将空格默认为分割符,最后的到的结果是一个单词一行,所以在method D中设定IFS为"\n".参考:https://www.jb51.net/article/48830.htm...原创 2019-10-09 21:37:42 · 268 阅读 · 0 评论 -
shell——函数
shell中函数的定义格式如下:[function] function_name[()]{action;[return int;]}函数返回值在调用该函数后通过$?来获得。注意:所有函数在使用前必须定义。这意味着必须将函数放在脚本开始部分,直至shell解释器首次发现它时,才可以使用。调用函数仅使用其函数名即可。函数参数在Shell中,调用函数时可以向其传递参数。在...原创 2019-10-09 22:25:49 · 201 阅读 · 0 评论 -
shell——执行外部脚本
shell可以包含外部脚本. filename #注意.与文件名中间有一空格或source filename参考:https://www.runoob.com/linux/linux-shell-include-file.html原创 2019-10-09 22:30:55 · 437 阅读 · 0 评论 -
linux——awk(6):awk动作总结
我们之前提到的awk动作有print和printf1.print & printf由上所示‘{print $0}' 为我们的动作。实际上,这个动作由两个部分组成:{}和print。print属于“输出语句”类型动作,输出语句类型的动作的作用就是输出,打印信息。{}可以认为是“组合语句”类型动作,就是将多个代码组合成代码块。如上所示,可以同时使用两个代码块(两个{}),也...原创 2019-09-18 23:35:10 · 329 阅读 · 0 评论 -
linux——awk(5):awk模式(pattern)
awk的使用语法awk[options] 'Pattern{Action}' file1,file2对于options(选项)而言,我们使用过-F,也使用过-v对于Action(动作)而言,我们使用过print和printf。对于Pattern(模式)而言,我们在刚开始学习awk时,学习了BEGIN和END模式。模式可以理解为条件。awk是逐行处理文本的,awk会先处理完当前行...原创 2019-09-18 21:43:38 · 649 阅读 · 0 评论 -
vi文件的增删改
原文件如下: words year number animal 2000 1.5 ambition 2001 1.7 balance 2002 3.6 city 2001 2.41.不打开文件 sed替换sed -i 's/200/100/g' vitest.csv输出为: words y...原创 2019-04-10 22:11:32 · 302 阅读 · 0 评论 -
linux——grep
Linux grep 命令用于查找文件里符合条件的字符串。如下所示:grep 最简单的使用方法是grep ”查询字符串“ ”查找的文件“,第一个例子是查询”test“字符,所以第一行被匹配出来了,如果要匹配到TEST,可以加-i,表示忽视大小写,如果要定位到匹配的行数,可以加-n。-n-c如果要统计所有匹配到的行数可以用-c。注意,是行数不是个数。-o如果只想查询被...原创 2019-09-08 14:44:35 · 210 阅读 · 0 评论 -
linux——正则表达式在linux中的应用(1)
我们如果想要在某一个文本中搜寻相关字符,使用grep就能做到,如下图所示。”^“&"$"由上面可知,所有test都被匹配到。在正则表达式中,如果我们只想匹配以test作为开头的行数,可使用”^“。想要匹配以test作为结尾的行,可以使用”$“,如果是想要该行只有test,可以同时使用”^“和”$“,如下所示。如果直接使用”^$“,则表示要匹配的关键行是个空行。"\&l...原创 2019-09-08 15:42:50 · 241 阅读 · 0 评论 -
linux——正则表达式在linux中的应用(2):连续匹配的次数
上一篇主要总结跟”位置匹配“相关的正则,即词首词尾,行首行尾。这一篇来总结”连续匹配的次数“。如果要匹配a,或者aa,我们可以用如下方式。但是如果要匹配多个a,全部写出来是一个非常麻烦的事。相关字符\{n\},相关字符\{n,m\}, 相关字符\{,n\} ,相关字符\{n,\}如果匹配多个连续字符,可以用\{, \} 来限定个数。由上可以看到所有满足{}的情况都出现...原创 2019-09-08 16:24:30 · 1589 阅读 · 0 评论 -
linux——正则表达式在linux中的应用(3):常用符号
我们在连续匹配中提到:用“.”来表示任意字符。如下所示:如上,我们发现“a aa”被匹配了,因为“.”不仅可以匹配字符,还能匹配空格,后面“ab a”被匹配到也是同理。如果我们想要只单单匹配到字母,可以用[[:alpha:]][[:alpha:]] & [[:lower:]] & [[:upper:]] 可分表表示 任意字母,任意小写字母和任意大写字母。[]用...原创 2019-09-08 18:03:26 · 350 阅读 · 0 评论 -
linux——正则表达式在linux中的应用(4):分组与后向引用
我们在字符的连续匹配中使用过"abc\{1,3\}",最后得到的匹配的结果有abc,abcc,即c重复一次两次三次都能匹配到,但是如果需要匹配的是重复的abc这一个整个字符时,我们就需要分组,将abc作为一个整体,示例如下:\( \)如上可知利用" \( " 和“ \) ” 将abc变成一个整体。后向引用:表示在引用整个正则中分组中所匹配到的结果,\1表示第一个分组中的正则所匹配到的...原创 2019-09-08 18:59:30 · 1464 阅读 · 0 评论 -
linux——正则表达式在linux中的应用(5):转义符与单双引号区别
在前文中我们提到“.”可以代表任意字符,但是如果我们就是要匹配“.”这个点本身,我们可以使用转义字符“\”。同理,要匹配“*”字符本身也需要加转义符。但是对于“\?”,我们知道这个代表前面字符出现至多一次,如果我们想要匹配问号本身的话,直接用“?”就好。“\+”同理。如果要引用“\”本身的话在前面可以加转义符。注意此处使用单引号。grep单双引号区别:...原创 2019-09-09 19:59:16 · 907 阅读 · 0 评论 -
linux——正则表达式在linux中的应用(6):基本正则表达式小结与扩展正则表达式
1.常用符号. 表示任意单个字符 * 表示前面的字符连续出现任意次,包括0次 .*表示任意长度的任意字符,与通配符中*的意思相同 \表示转义符,当与正则表达式中的符合结合时表示符号本身 [ ]表示匹配指定范围内的任意单个字符 [^ ]表示匹配指定范围外的任意单个字符2.单个字符匹配相关[[:alpha:]] ,[a-zA-Z]表示任意大小写字母 [[:lower:]] ...原创 2019-09-09 21:12:01 · 223 阅读 · 0 评论 -
linux —— echo & print & printf
echo:echo命令后面跟要输出的文本;echo -n 表示不换行输出echo -e输出转义字符常见的转义字符如下:\b转义后相当于按退格键(backspace),但前提是”\b“后面存在字符。\c不换行输出,在”\c“后面不存在字符的情况下,作用相当于 echo -n,当“\c”后面依然存在字符时,“\c”后面的字符将不会输出\n换行\f ,\v换行,但是换...原创 2019-09-09 22:29:56 · 990 阅读 · 0 评论 -
linux—— awk(1):awk基础
grep,sed,awk被称为linux中的“三剑客”grep更适合单纯的查找或匹配文本。sed更适合编辑匹配到的文本。awk更适合格式化文本,对文本进行复杂格式处理。awk是一个报告生成器,我们可以利用awk命令将一些文本整理成我们想要的样子。awk可以看作一门编程语言,它支持条件判断,数组,循环等功能。awk语法:awk [options] 'Pattern{Ac...原创 2019-09-09 23:05:27 · 309 阅读 · 0 评论 -
linux——awk(2):分隔符
我们在上一篇提到,awk默认分割符是空格,实际上,我们也可以自己指定某个符号作为文件的分割符。输入分割符,field separator即FS。输入分割符默认为空格。输出分隔符,output field separator即OFS,默认输出分隔符也是空格。1.输入分隔符我们可以指定特殊符号为输入分隔符:awk语法如下:awk[options]'pattern{action}...原创 2019-09-16 20:48:47 · 725 阅读 · 0 评论 -
linux——awk(3):awk变量
对于awk来说,变量分为“内置变量”和“自定义变量”。内置变量就是awk预先定义好的,内置在awk内部的变量,而自定义变量就是用户定义的变量。awk常见的内置变量:FS:输入字段分隔符,默认为空白字符OFS:输出字段分隔符,默认为空白字符RS:输入记录分隔符(输入换行符),指定输入时的换行符ORS:输出记录换行符(输出换行符),输出时指定符号代替换行符NF:number o...原创 2019-09-16 21:27:00 · 852 阅读 · 0 评论 -
linux——awk(4):awk格式化
在awk中可以利用printf动作进行格式化输出。print & printfprintf动作与print命令一样,都不会输出换行符,默认会将文本输出在一行里面。printf动作与printf命令的不同在使用printf命令时,当指定的格式中只有一个”格式替换符“,但是传入多个参数时,那么这多个参数可以重复使用这一个格式,但是在awk中,格式替换符的数量必须与传入的...原创 2019-09-16 22:21:54 · 759 阅读 · 0 评论 -
vim删除文本
dG 删除到文件末dd 删除一行原创 2019-04-03 21:55:12 · 785 阅读 · 0 评论