【 linux命令 sed 】

sed是一个管道命令,可以分析standard input 而且sed可以将数据进行替换、删除、新增、选取的特定的功能

sed [-nefr] [动作]

  • -n 使用安静(silence)模式。在一般sed的用法中,所有来自STDIN的数据一般都会被列出到屏幕。
  • -e 直接在命令行模式上进行sed的动作编辑。
  • -f 直接将sed的动作写在一个文件内,-f filename 则可以执行filename内的sed动作
  • -r sed的动作支持的是扩展型正则表达式的语法
  • -i 直接修改读取的文件内容,而不是有屏幕输出

    动作说明:[n1,n2 动作]

    如需要在10到20行之间进行 则,“10,20[动作]”

    function 具有参数:

    a 新增,a后面接字符串,而这些字符串会在新的一行出现

    c 替换,c的后面可以接字符串,这些字符串可以替换n1,n2之间的行

    d 删除,

    i 插入,

    p 打印,

    s 替换,

    例:

    sed ‘s/①要被替换的字符串/②新的字符串/g’=====》①和②的位置可以使用正则表达式 —-2016-11-15
  1. #【编写shell脚本获取本机的网络地址】
  2. #########################################################################
  3. #!/bin/bash
  4. #Program
  5. #show ip address and network
  6. IP=$(ifconfig eth0 | grep 'inet'| grep 'Bcast'| sed 's/^.*addr://g'|sed 's/Bcast.*$//g')
  7. Mask=$(ifconfig eth0 | grep 'inet'|grep 'Bcast'| sed 's/^.*Mask://g')
  8. echo "$IP/$Mask"

【 linux命令 awk,文件按指定格式输出】

awk相当适合小型的数据数据处理,它倾向于将一行分成数个“字段”来处理。

awk ‘条件类型1 {动作1} 条件类型2 {动作2} ……’ filename

awk是以行为单位进行处理,每行都是有变量名的,分别是$1、$2等字段

awk的处理流程:

    1. 读入第一行,并将第一行数据填入、1、2、$3等变量中;
    1. 依据条件类型的限制,判断是否需要进行后面的动作
    1. 做完所有的动作与条件类型
    1. 若还有后续的行数据,重复[1 - 3] 的步骤,直到所有数据都读完为止。

内置变量

  • NF:每行($0)拥有的字段数
  • NR:目前awk所处理的是"第几行"数据
  • FS:目前的分隔符,默认是空格键
  1. #【编写个shell脚本将/local目录下小于10K的文件转移到当前目录下】
  2. #########################################################################
  3. #!/bin/bash
  4. #Programing
  5. #using moving /local directory to current directory
  6. for currrentfile in $(ls -l /local| awk '$5 < 10240 {print $9}')
  7. #ll命令后 第5个变量是文件大小的数据,只要判断小于10240就表示为小于10K的文件,并且把它们显示出来。for会遍历这些文件
  8. do
  9. mv /local/$currentfile $(pwd)
  10. done
  11. ls -a $(pwd)
  12. echo "done!"

2016-11-16

【scp–remote file copy program

scp是一个远程文件拷贝命令,可以通过命令来对文件进行copy操作

如需要把A计算机 /local/sdb/aa文件夹copy到B计算机的/local/bb文件中

  1. 在A计算机上操作命令如下:

    scp -r /local/sdb/aa user@10.92.34.20:/local/bb

    然后会让输入B计算机的密码来完成操作。
  2. 或者在B计算机上把A计算机中文件“拉”过来命令如下:

    scp -r user@10.92.34.122:/local/sdb/aa /local/bb

最新文章

  1. java异常处理预习
  2. Object-C中代码如何分离接口和实现
  3. app基本信息
  4. 别说你会用 Google 搜索
  5. windows 2003 搭建一个vpn
  6. swift官方文档中的switch中case let x where x.hasSuffix(&quot;pepper&quot;)是什么意思?
  7. 【LeetCode】数组-6(561)-Array Partition I(比较抽象的题目)
  8. Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs
  9. .Net Core应用框架Util介绍(三)
  10. java 的数据类型及其所占的字节数
  11. java java.net.URLConnection 实现http get,post
  12. 开源小程序CMS网站, JeeWx-App-CMS 1.0 首版本发布
  13. [POI2013]Morskie opowieści
  14. 用自定义的RoundImageView来实现圆形图片(可加边框)
  15. div+css模拟select下拉框
  16. 使用ViewPager实现android软件使用向导的功能
  17. ubuntu16.04解决tensorflow提示未编译使用SSE3、SSE4.1、SSE4.2、AVX、AVX2、FMA的问题【转】
  18. Linux删除除了今天以外的文件
  19. MySQL 中文乱码解决
  20. js工具类的封装

热门文章

  1. 联盛德 HLK-W806 (九): 软件SPI和硬件SPI驱动ST7789V液晶LCD
  2. yum安装curl支持http2
  3. 移动端滚动方案:better-scroll
  4. flink使用命令开始、停止任务
  5. 百度地图AK密钥申请
  6. 【LeetCode】908. Smallest Range I 解题报告(Python)
  7. 【LeetCode】838. Push Dominoes 解题报告(Python)
  8. 【LeetCode】636. Exclusive Time of Functions 解题报告(Python)
  9. Matrix(poj2155)
  10. wiodows /linux CMD