首页 > 系统相关 >Linux命令(二)

Linux命令(二)

时间:2023-11-14 19:00:11浏览次数:63  
标签:me love a12 命令 Linux txt root localhost

1、文本处理命令sed:

  1. 替换
    1. sed "s/原数据/新数据/" ⽂件名,仅把每⾏的第⼀个"原数据"替换为"新数据",不对原⽂件操作。
      [root@localhost ~]# cat a12.txt
      I love you
      you love me
      Do you love me?
      [root@localhost ~]# sed "s/I/o/" a12.txt
      o love you
      you love me
      Do you love me?
    2. sed "s/原数据/新数据/g" 文件名,仅把每行的所有"原数据"替换为"新数据",不对原文件进行操作。
      [root@localhost ~]# cat a12.txt
      I love you
      you love me
      Do you love me?
      [root@localhost ~]# sed "s/o/I/g" a12.txt
      I lIve yIu
      yIu lIve me
      DI yIu lIve me
    3. sed "s/原数据/新数据/gi"文件名,仅把每行的所有的不区分大小写的"原数据"替换为"新数据",不对原文件进行操作。
      [root@localhost ~]# cat a12.txt
      I love you
      you love me
      Do you love me?
      Only you
      [root@localhost ~]# sed "s/o/I/gi" a12.txt
      I lIve yIu
      yIu lIve me
      DI yIu lIve me?
      Inly yIu
    4. sed "s/^s*//" 文件名,把每行开头的空白字符删掉   \s匹配空白字符。
      [root@localhost ~]# cat a12.txt
                                    I love you
                  you love me
                     Do you love me?
              Only you
      [root@localhost ~]# sed "s/^\s*//" a12.txt
      I love you
      you love me
      Do you love me?
      Only you
  2. 插入
    1. sed "i行数据" 文件名,在文件中每行的上面插入"行数据"。

      [root@localhost ~]# cat a12.txt
      I love you
      you love me
      Do you love me?
      [root@localhost ~]# sed "i I love you" a12.txt
      I love you
      I love you
      I love you
      you love me
      I love you
      Do you love me?
      [root@localhost ~]#

    2. sed "ni行数据" 文件名,在文件中第n行的上面插入"行数据"。
      [root@localhost ~]# cat a12.txt
      I love you
      you love me
      Do you love me?
      [root@localhost ~]# sed "2i Do you know?" a12.txt
      I love you
      Do you know?
      you love me
      Do you love me?
    3. sed "a 行数据"文件名,在文件中每行的下面插入"行数据"。
      [root@localhost ~]# cat a12.txt
                                    I love you
                  you love me
                     Do you love me?
              Only you
      [root@localhost ~]# sed "a Do you know?" a12.txt
                                    I love you
      Do you know?
                  you love me
      Do you know?
                     Do you love me?
      Do you know?
              Only you
      Do you know?
    4. sed "na 行数据" 文件名,在文件中第n行的下面插入"行数据"。
      1. 插入到最后一行sed '$a aaa' a1.txt
      2. [root@localhost ~]# cat a1.txt
        I love you
        you love me
        Do you love me?
        [root@localhost ~]# sed "2a Do you know" a12.txt
        I love you
        you love me
        Do you know
        Do you love me?
        [root@localhost ~]# sed "5a aaaa" a12.txt
        I love you
        you love me
        Do you love me?
        [root@localhost ~]# sed "`wc -l a1.txt | cut -d ' ' -f1`a aaaa" a12.txt
        I love you
        you love me
        Do you love me?
        aaaa
        [root@localhost ~]#
  3. 删除
    1. sed "/^$/d" 文件名,删除文件中的空行。
      [root@localhost ~]# cat a12.txt
      
      I love you
      
      you love me
      
      Do you love me?
      
      Only you
      
      [root@localhost ~]# sed "/^$/d" a12.txt
      I love you
      you love me
      Do you love me?
      Only you
    2. sed "nd" 文件名,删除指定行。
      [root@localhost ~]# cat a12.txt
      
      I love you
      
      you love me
      
      Do you love me?
      
      Only you
      
      [root@localhost ~]# sed "1d" a12.txt
      I love you
      
      you love me
      
      Do you love me?
      
      Only you
    3. sed 'n,$d' 文件名,删除文件中的第n行到末行,注意必须使用单引号。
      [root@localhost ~]# cat a12.txt
      
      I love you
      
      you love me
      
      Do you love me?
      
      Only you
      
      [root@localhost ~]# sed '4,$d' a12.txt
      
      I love you
    4. sed '$d' ⽂件名, 删除⽂件中末⾏ ,注意必须使⽤单引号。
      [root@localhost ~]# cat a12.txt
      
      I love you
      
      you love me
      
      Do you love me?
      
      Only you
      
      [root@localhost ~]# sed '$d' a12.txt
      
      I love you
      
      you love me
      
      Do you love me?
      
      Only you
    5. sed "/^数据/d" ⽂件名, 删除⽂件中以指定的数据开头的行。
      [root@localhost ~]# cat a12.txt
      
      I love you
      
      you love me
      
      Do you love me?
      
      Only you
      
      [root@localhost ~]# sed "/^yo/d" a12.txt
      
      I love you
      
      
      Do you love me?
      
      Only you
  4. 增强
    1. sed -e "操作1" -e "操作2" .... ⽂件名, 对⽂件同时进行多步操作。
      [root@localhost ~]# cat a12.txt
      
      I love you
      
      you love me
      
      Do you love me?
      
      Only you
      
      [root@localhost ~]# sed -e "2a you love her" -e '/^$/d' a12.txt
      I love you
      you love her
      you love me
      Do you love me?
      Only you
    2. sed -i ....⽂件名 对指定⽂件进⾏修改。
      [root@localhost ~]# cat a12.txt
      
      I love you
      
      you love me
      
      Do you love me?
      
      Only you
      
      [root@localhost ~]# sed -i "/^$/d" a12.txt
      [root@localhost ~]# cat a12.txt
      I love you
      you love me
      Do you love me?
      Only you
      [root@localhost ~]#

2、文本处理命令awk

  1. 查找
    1. awk '/数据/{print}' ⽂件名, 在指定的⽂件中查找包含指定数据的行并输出。
      [root@localhost ~]# cat a12.txt
      
      I love you
      
      you love me
      
      Do you love me?
      
      Only you
      
      [root@localhost ~]# awk '/me/{print}' a12.txt
      you love me
      Do you love me?
    2. awk '!/数据/{print}' ⽂件名, 在指定的⽂件中查找不包含指定数据的行并输出。
      [root@localhost ~]# cat a12.txt
      
      I love you
      
      you love me
      
      Do you love me?
      
      Only you
      
      root@localhost ~]# awk '!/me/{print}' a12.txt
      
      I love you
      
      
      
      Only you
      
      [root@localhost ~]#
  2. 切割
    1. awk '{print $n,$m,....} ⽂件名, 在指定的⽂件中按空格或制表符切割后的第n,m个字段。
      [root@localhost ~]# cat aaa.txt
      aaa bbb ccc ddd eee fff
      aaa bbb ccc ddd eee fff
      aaa bbb ccc ddd eee fff
      aaa bbb ccc ddd eee fff
      aaa bbb ccc ddd eee fff
      [root@localhost ~]# awk '{print $2,$3}' aaa.txt
      bbb ccc
      bbb ccc
      bbb ccc
      bbb ccc
      bbb ccc
    2. awk -F'分割符1|分割符2|...' '{print $n,,,,,$NF}' ⽂件名, 在指定的⽂件中按指定的分割符切割后的指定第n个字段, NF表示最后⼀个字段。
      [root@localhost ~]# cat aaa.txt
      aaa bbb ccc ddd eee fff
      aaa bbb ccc ddd eee fff
      aaa bbb ccc ddd eee fff
      aaa bbb ccc ddd eee fff
      aaa bbb ccc ddd eee fff
      [root@localhost ~]# sed -i 's/ /,/g' aaa.txt
      [root@localhost ~]# cat aaa.txt
      aaa,bbb,ccc,ddd,eee,fff
      aaa,bbb,ccc,ddd,eee,fff
      aaa,bbb,ccc,ddd,eee,fff
      aaa,bbb,ccc,ddd,eee,fff
      aaa,bbb,ccc,ddd,eee,fff
      [root@localhost ~]# awk -F ',' '{print $2,$NF}' aaa.txt
      bbb fff
      bbb fff
      bbb fff
      bbb fff
      bbb fff
      [root@localhost ~]#
  3. 创建文件链接 ln 
    1. ln -s 原文件 软链接名,文件或目录均可实现,若原文件不存在则软件链接失败。
      [root@localhost ~]# ln -s a12.txt a.txt
      [root@localhost ~]# ll
      总用量 20
      -rw-r--r--. 1 root root   48 11月 14 14:34 a12.txt
      -rw-r--r--. 1 root root  120 11月 14 14:40 aaa.txt
      -rw-------. 1 root root 1463 7月  24 17:44 anaconda-ks.cfg
      lrwxrwxrwx. 1 root root    7 11月 14 14:56 a.txt -> a12.txt
      drwxr-xr-x. 2 root root   53 11月  9 15:01 java
      drwxr-xr-x. 2 root root    6 11月 14 09:13 kgcnews
      drwxrwxr-x. 7 root root   88 11月 14 09:12 qjt1
      drwxr-xr-x. 2 root root    6 11月  4 14:49 qjt2
      -rw-r--r--. 1 root root    0 11月 14 09:14 shell.txt
      drwxr-xr-x. 3 root root   18 11月  6 18:50 test
      -rw-r--r--. 1 root root  528 11月 11 15:55 test.txt
      -rw-r--r--. 1 root root  371 11月  9 10:57 ya1.tar.gz
      [root@localhost ~]# cat a12.txt
      I love you
      you love me
      Do you love me?
      Only you
      [root@localhost ~]# cat a.txt
      I love you
      you love me
      Do you love me?
      Only you
      [root@localhost ~]# ll
      总用量 20
      -rw-r--r--. 1 root root   48 11月 14 14:34 a12.txt
      -rw-r--r--. 1 root root  120 11月 14 14:40 aaa.txt
      -rw-------. 1 root root 1463 7月  24 17:44 anaconda-ks.cfg
      lrwxrwxrwx. 1 root root    7 11月 14 14:56 a.txt -> a12.txt
      drwxr-xr-x. 2 root root   53 11月  9 15:01 java
      drwxr-xr-x. 2 root root    6 11月 14 09:13 kgcnews
      drwxrwxr-x. 7 root root   88 11月 14 09:12 qjt1
      drwxr-xr-x. 2 root root    6 11月  4 14:49 qjt2
      -rw-r--r--. 1 root root    0 11月 14 09:14 shell.txt
      drwxr-xr-x. 3 root root   18 11月  6 18:50 test
      -rw-r--r--. 1 root root  528 11月 11 15:55 test.txt
      -rw-r--r--. 1 root root  371 11月  9 10:57 ya1.tar.gz
      [root@localhost ~]#
    2.  ln 原⽂件名 硬链接名 , 仅普通⽂件可以创建硬链接,若原⽂件不存在,硬链接依然有效。
      [root@localhost ~]# ln a12.txt a1.txt
      [root@localhost ~]# cat a1.txt
      I love you
      you love me
      Do you love me?
      Only you
      [root@localhost ~]# cat a12.txt
      I love you
      you love me
      Do you love me?
      Only you
      [root@localhost ~]# vim a12.txt
      [root@localhost ~]# cat a12.txt
      I love you
      you love me
      Do you love me?
      [root@localhost ~]# cat a1.txt
      I love you
      you love me
      Do you love me?
      [root@localhost ~]# ll
      总用量 24
      -rw-r--r--. 2 root root   39 11月 14 14:59 a12.txt
      -rw-r--r--. 2 root root   39 11月 14 14:59 a1.txt
      -rw-r--r--. 1 root root  120 11月 14 14:40 aaa.txt
      -rw-------. 1 root root 1463 7月  24 17:44 anaconda-ks.cfg
      lrwxrwxrwx. 1 root root    7 11月 14 14:56 a.txt -> a12.txt
      drwxr-xr-x. 2 root root   53 11月  9 15:01 java
      drwxr-xr-x. 2 root root    6 11月 14 09:13 kgcnews
      drwxrwxr-x. 7 root root   88 11月 14 09:12 qjt1
      drwxr-xr-x. 2 root root    6 11月  4 14:49 qjt2
      -rw-r--r--. 1 root root    0 11月 14 09:14 shell.txt
      drwxr-xr-x. 3 root root   18 11月  6 18:50 test
      -rw-r--r--. 1 root root  528 11月 11 15:55 test.txt
      -rw-r--r--. 1 root root  371 11月  9 10:57 ya1.tar.gz
      [root@localhost ~]#

       

标签:me,love,a12,命令,Linux,txt,root,localhost
From: https://www.cnblogs.com/hsk991213/p/17832300.html

相关文章

  • Linux基础43 nginx多server优先级, nginx禁止IP访问, nginx的alias, nginx的try_file
    Nginx常见问题一、nginx多server优先级在开始处理一个http请求时,nginx会去除header头中的Host变量,与nginx.conf中的每个server_name进行匹配,以此决定到底由哪一个server来处理这个请求,但nginx如果配置多个相同的server_name,会导致server_name出现优先级访问冲突。1.准备多个......
  • LINUX防火墙与端口
    LINUX防火墙与端口查看firewalld状态systemctlstatusfirewalld开启firewalldsystemctlstartfirewalld关闭firewalldsystemctlstopfirewalld刷新firewalldfirewall-cmd--reload开放80端口firewall-cmd--zone=public--add-port=80/tcp--permanentfire......
  • linux离线安装portainer&配置远程连接其他linux服务器的docker环境
    1、下载安装包的地址https://github.com/portainer/portainer/releases/tag/2.19.2 2、将安装包上传linux服务器并解压cd到安装包所在目录后执行如下命令解压:forfilein*.tar.gz;dotar-zxvf"$file"--strip-components=1;done3、设置环境变量echo-e"\n#设置port......
  • shell脚本之“sort“、“uniq“、“tr“、“cut“、“split“、“paste“以及“eval“
    一、sort命令1.1、作用以行为单位对文件内容进行排序也可以根据不同的数据类型来排序1.2、语法格式sort[选项]参数catfile|sort选项1.3、常用选项-f∶忽略大小写,会将小写字母都转换为大写字母来进行比较;-b∶忽略每行前面的空格;-n∶按照数字进行排序;-r∶反向......
  • linux锁定脚本防止脚本重复运行
    问题描述:设置在定时任务中的脚本一定要注意防止脚本重复执行,要不然会带来一些想象不到的结果。 方式一:使用锁定文件的方式来进行防止脚本重复运行,类似数据库socket文件,但是这种情况有一种弊端就是,如果脚本因为某些原因退出,但是lock文件没有被清理掉,就会导致下一次的脚本运行失......
  • Linux-AT命令干货分享,还不赶紧收藏!
    AT简介AT即Attention,AT指令集是从终端设备(TerminalEquipment,TE)或数据中断设备(DataTerminalEquipment,DTE)向终端适配器(TerminalAdapter,TA)或数据电路终端设备(DataCircuitTerminalEquipment,DCE)发送的。通过TA,TE发送AT指令来控制移动台(MobileStation,MS)的功能,与GSM......
  • 在Window系统中安装VMware虚拟机搭建Linux服务器
    1、什么是VMwareWorkstationVMwareWorkstationPro是一款桌面虚拟化软件。我们可以通过WorkstationPro在Windows或LinuxPC上运行多个操作系统作为虚拟机。它是运行虚拟机的行业通用标准,可以方便快速地使用Windows或者Linux。官网介绍:跨一系列不同的设备、平台和云构建、测试......
  • Mongodb安装-Linux
    查看服务器centos版本:cat/etc/redhat-release1、进入Mongodb官网:https://www.mongodb.com/,下载安装包  2、上传taz文件到服务器/home目录下,执行命令://解压压缩包tar-zxvfmongodb-linux-x86_64-rhel70-7.0.3.tgz//修改文件夹名mvmongodb-linux-x86_64-rhel70-......
  • vcs与verdi命令行仿真查看波形
    makefileDESIGN_NAME="fifo_tb"LOG_VCS="vcs.log"LOG_SIMV="simv.log"FILE_LIST="./list.f"#CodeCoverageCM=-cmline+cond+tgl+fsm+branch+assertCM_DIR=-cm_dircvrg#Makefilebody.PHON......
  • 批处理命令(一)
    BAT文件,即批处理(Batch)文件,在DOS或Windows系统中都是可执行文件。BAT文件由一系列命令构成,其中可以包含对其他程序的调用。批处理定义:批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD。这些命令统称批处理命令。批处理常用命令echo显示该......