• shell编程学习笔记(二)


    什么是shell?

    shell只是一个程序,它在系统中没有特权。因此,有多个不同风格shell共同存在原因——Bourne Shell,Korn Shell,C Shell。 

    在shell输入命令,先分析用户键入的每个命令,然后为执行程序作初始化。

    Shell有自己的内部程序设计语言,这种语言是解释型的,shell用这种语言解释命令行的每一条语句,然后执行。

    C等编译型语言,一般是先编译成可执行文件再执行。

    1)正规表达式

    . 匹配任意字符

    ed files, ed 编辑命令

    ^contents 匹配行首符号

    contents$ 匹配文件尾

    [...] 匹配[]内的字符之一

    * 配额0个或多个任意字符

    \{...\}:x\{...\}匹配精确数目的字符串

    \(...\): 保存匹配的字符串

    2)cut

    cut -cN file

    cut -dchar -fN file

        char是分割符 

       N 从第1 个开始数的第N 个字节、字符或域

         N- 从第N 个开始到所在行结束的所有字符、字节或域
         N-M 从第N 个开始到第M 个之间(包括第M 个)的所有字符、字节或域
         -M 从第1 个开始到第M 个之间(包括第M 个)的所有字符、字节或域

    3)paste命令

    paste file1 file2 file3 ,将三个文件的内容连接起来,直接在对应的每一行后连接而不是在第一个文件末尾连接

    paste -d‘char’ file1,file2

           -d是 可选参数,文件连接的时候的默认分隔符是制表符,我们可以用-d来设定我们想要的字符,其中char的单引号最好是有,没大部分情况也是行的。

    paste -d'char' -s file,-s告诉paste把同一个文件file的行用char连在一起

    4)sed 用来编辑数据的程序,指的是流编辑器,与ed的区别是其不能用于交互

     sed 's/char1/char2/d' file,将file里面的每一个char1替换成char2,只有s的话只会将每行的第一个char2替换,加上g会将所有的char2替换

     sed -n '1,2p' file,选项-n表示没有显式要求的话不显示任意一行,显式指定用p命令来实现,该命令表示输出file的1-2行

     sed -n '/char/p' file,显示包含单词char的行

     sed ‘1,2d’file,删除file文件的1-2行

    5)tr 过滤器tr用于转换来自标准输入的字符

     tr from-chars to-chars,from-chars 和to-chars都是一个或多个字符,输入的任意在from-chars的字符转换成to-chars中的字符

     tr a b < file, 将file中的a全部转成b

     tr '[a-z]' '[A-Z]' < file, 小写都换成大写

     tr -s ':' ' ' < file,假设有连续的多个:,假如没有-s,那么出来的结果将会是压缩成一个' '。

     tr -d ':' < file ,删除输入流中的:

    6)grep 可以搜索一个或多个文件中特定的字符串模式

     grep char files

     grep -v char file 显示不包含char的行

     grep -l char * ,显示包含char的文件名

     grep -n char file, 显示行号

    7)sort  对输入文件的每一行排序,默认升序

     -u 去掉重复行

     -r 降序排列

     -o,输出重定向,跟>很像,区别在于-o可以重定向为同一个文件,而>不行

     -n,按算术方法排序

    8)uniq 查找并消除连续重复行

     uniq file1

     uniq file1 file2

     uniq file -d,输出连续重复的行

     uniq file -c,输出每行出现的次数 

  • 相关阅读:
    钢铁雄心4陆战攻略
    装甲军团1跳出问题
    Git:解决报错:fatal: The remote end hung up unexpectedly
    保存网页到zotero研究
    面向服务软件工程
    华为matebook x pro监听耳机电流声
    战争游戏红龙修改手册
    manjaro20安装teamviewer出现sudo teamviewer –daemon start无响应
    manjaro20WPS缺少字体
    manjora20不小心卸载,重新安装terminal,软件商店/软件中心linux类似
  • 原文地址:https://www.cnblogs.com/ManMonth/p/1945646.html
Copyright © 2020-2023  润新知