zoukankan      html  css  js  c++  java
  • 拼合多个文件粘贴命令之paste

    paste

    • paste命令可以将多个文件中同行号的列合并到一行
    [03:56:38 root@C8-3-55 ~]#paste --help
    用法:paste [选项]... [文件]...
    Write lines consisting of the sequentially corresponding lines from
    each FILE, separated by TABs, to standard output.
    
    如果没有指定文件,或者文件为"-",则从标准输入读取。
    
    必选参数对长短选项同时适用。
      -d, --delimiters=列表 改用指定列表里的字符替代制表分隔符
      -s, --serial          不使用平行的行目输出模式,而是每个文件占用一行
      -z, --zero-terminated    以 NUL 字符而非换行符作为行尾分隔符
          --help            显示此帮助信息并退出
          --version         显示版本信息并退出
    

    比如说两个文件都有文件头,拷贝以后两个文件的文件头都并列到第一行了,形成合并的效果

    [04:21:55 root@C8-3-55 ~]#df -h > df.log;lsblk >lsblk.log
    [04:23:16 root@C8-3-55 ~]#paste df.log lsblk.log
    文件系统             容量  已用  可用 已用% 挂载点      NAME        MAJ:MIN RM           SIZE RO TYPE MOUNTPOINT
    devtmpfs             886M     0  886M    0% /dev        sda           8:0    0            20G  0 disk
    tmpfs                903M     0  903M    0% /dev/shm    ├─sda1        8:1    0             1G  0 part /boot
    tmpfs                903M   17M  886M    2% /run        └─sda2        8:2    0            19G  0 part
    tmpfs                903M     0  903M    0% /sys/fs/cgroup        ├─cl-root 253          :0    0  17G  0 lvm  /
    /dev/mapper/cl-root   17G  3.4G   14G   20% /     └─cl-swap 253:1    0   2G  0           lvm  [SWAP]
    /dev/sda1            976M  139M  771M   16% /boot       sdb           8:16   0             2G  0 disk
    tmpfs                181M     0  181M    0% /run/user/0 └─sdb1        8:17   0             2G  0 part
    

    例:生成用户名:密码文件

    [04:34:53 root@C8-3-55 ~]#echo baipz{1..10} | tr -s " " "
    " > username.txt;echo 12345{a..j} | tr -s " " "
    " > passwd.txt
    [04:57:23 root@C8-3-55 ~]#paste -d : username.txt passwd.txt
    baipz1:12345a
    baipz2:12345b
    baipz3:12345c
    baipz4:12345d
    baipz5:12345e
    baipz6:12345f
    baipz7:12345g
    baipz8:12345h
    baipz9:12345i
    baipz10:12345j
    
    [04:57:23 root@C8-3-55 ~]#paste -d : username.txt passwd.txt | chpasswd ## 可以批量修改用户密码
    

    例:计算1连加到100

    [05:00:19 root@C8-3-55 ~]#seq 100 | paste -s -d +
    1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+68+69+70+71+72+73+74+75+76+77+78+79+80+81+82+83+84+85+86+87+88+89+90+91+92+93+94+95+96+97+98+99+100
    
    [04:57:34 root@C8-3-55 ~]#seq 100 | paste -s -d + | bc
    5050
    
    * * * 胖并快乐着的死肥宅 * * *
  • 相关阅读:
    idea 导入spring 源码注意的问题
    如何在plsql/developer的命令窗口执行sql脚本
    使用babel把es6代码转成es5代码
    解决es6中webstrom不支持import的一个简单方法
    nodejs npm insttall 带不带-g这个参数的区别
    nodejs 喜欢报cannot find module .....的简单解决方案
    用npm安装express时报proxy的错误的解决方法
    angularjs的验证信息的写法
    Emacs as a Python IDE(转)
    消息摘要java.security.MessageDigest
  • 原文地址:https://www.cnblogs.com/bpzblog/p/14495675.html
Copyright © 2011-2022 走看看