首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

搞定 Linux Shell 文本处理工具

本文将介绍Linux下使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子和参数都是最常用和最为实用的;...对shell脚本使用的原则是命令单行书写,尽量不要超过2; 如果有更为复杂的任务需求,还是考虑python吧. 1、find 文件查找 查找txt和pdf文件 find . ( -name "*....awk 'NR < 5' #行号小于5 awk 'NR==1,NR==4 {print}' file #行号等于1和4的打印出来 awk '/linux/' #包含linux文本的(可以用正则表达式来指定.../linux/' #不包含linux文本的 设置定界符 使用-F来设置定界符(默认为空格) awk -F: '{print $NF}'/etc/passwd 读取命令输出 使用getline,将外部...单词和字符 迭代文件中的每一 while 循环法 while read line; do echo $line; done < file.txt 改成子shell: cat file.txt |

1.7K10

Linux shell 多进程和文件队列处理任务

先压缩后拉取,然后删除掉应用服务器上的压缩文件 前期准备 由于对shell以前只是停留在偶尔用的程度,许多知识都需要现查,因此又去学习了一遍,其中包括shell中多进程任务执行,文件监听处理,以及常用的...Linux命令 Linux多任务执行 (多任务执行|http://www.cnblogs.com/xudong-bupt/p/6079849.html) (多进程并发|http://www.cnblogs.com...文件监听处理 以前用kafka做日志处理时,记得有一个可以使用tail来创建生产者,因此朝着这方面找了下资料,确实可以这么做 shell function dosth(){} tail -f -n 100...函数调用,scp,gzip,echo等命令看了下他们的man页,做起来更有信心 动手 任务分类 目前有两个任务,一是拉取日志,二是删除过期日志,因此使用两个文件队列来分别表示这两个任务 shell处理...一个用于生产需要消费的数据(crontab使用),一个实现拉取日志,一个实现删除过期日志,拉取日志过程中产生的压缩文件也写到删除过期日志任务队列中,由它来专门处理 具体脚本可见GitHub(shell|

1.9K30

Linux Shell 文本处理工具集锦

本文将介绍Linux下使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子和参数都是最常用和最为实用的;...我对shell脚本使用的原则是命令单行书写,尽量不要超过2; 如果有更为复杂的任务需求,还是考虑python吧; find 文件查找 查找txt和pdf文件 find . \( -name "*.txt...awk 'NR < 5' #行号小于5 awk 'NR==1,NR==4 {print}' file #行号等于1和4的打印出来 awk '/linux/'#包含linux文本的(可以用正则表达式来指定.../linux/' #不包含linux文本的 设置定界符 使用-F来设置定界符(默认为空格) awk -F: '{print $NF}' /etc/passwd 读取命令输出 使用getline,将外部...单词和字符 迭代文件中的每一 while 循环法 while read line; do echo $line; done < file.txt 改成子shell: cat file.txt | (while

3.2K70

Linux Shell工具篇 - 内容处理工具sed

介绍 sed (stream editor, 流编辑器) 是Linux下一款功能强大的非交互流式文本编辑器(vim是交互式文本编辑器),可以对文本文件的每一数据匹配查询之后进行增、删、改、查等操作,支持按...sed是一种流编辑器,它一次处理内容,将这行放入缓存(存区空间称为:模式空间),然后才对这行进行处理处理完后,将缓存区的内容发送到终端。...-n 取消默认输出,sed默认会输出所有文本内容,使用-n参数后只显示处理过的。 -r ruguler 使用扩展正则表达式,默认情况sed只识别基本正则表达式 *。...sed.txt # 第二种方式,用分号隔开命令 sed '1d;s/itheima/itcast/g' sed.txt 运行效果 6.高级用法: 缓存区数据交换 模式空间与暂存空间: sed处理文件是逐行处理的...,即读取一处理,输出一; sed把文件读出来每一存放的空间叫模式空间,会在该空间中对读到的内容做相应处理; 此外sed还有一个额外的空间即暂存空间,暂存空间刚开始里边只有个空行;

1.4K20

100 shell 写个 Docker

二、技术拆解2.1 Namespace2.1.1 简介Linux Namespace是Linux提供的一种内核级别环境隔离的方法。...示例中我们用两个shell来展示:shell A#查看当前shell的uts / ipc namespace number # readlink /proc/$$/ns/uts /proc/$$/ns/...脚本源自于https://github.com/p8952/bocker,我做了image/pull/存储驱动的部分修改,下面先看下脚本完成后的示例:3.2 完整脚本脚本一共用130代码,完成了上面的功能...images|ps|run|exec|logs|commit) bocker_"$1" "${@:2}" ;; *) bocker_help "$0" ;;esacREADMEBocker使用100bash...bocker init 提供了有限的 bocker build 能力四、总结到此本文要介绍的内容就结束了,正如开篇我们提到的,写出最终的脚本实现这样一个小玩意并没有什么实用价值,真正的价值是我们通过100左右的脚本

68430

Linux——shell

什么是shellshell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器) 。它接收用户输入的命令并把它送入内核去执行。起着用户与系统之间进行交互的作用。 ?...shell的功能: 命令行解释 命令的多种执行顺序 通配符 命令补全、别名机制、命令历史 I/O重定向 管道 命令替换(` ` 或$( ) ) shell编程语言 shell可以执行——内部命令、外部命令...shell命令分为: 内部(内置)命令 内部命令是shell本身包含的一些命令,这些内部命令的代码是整个shell代码的一个组成部分; 内部命令的执行是shell通过执行自己的代码中的相应部分来完成的...外部(外置)命令 外部命令的代码则存放在一些二进制的可执行文件或者shell脚本中; 外部命令执行时,shell会在文件系统中指定的一些目录去搜索相应的文件,然后调入内存执行。...shell变量PATH中 ?

10.5K30

shell 数据处理

一、linux中的常用符号 * 代表任意字符串 ? 代表任意字符 / 代表根目录或作为路径间隔符使用 \ 转义字符。 \ 续符。...可以使用续符将一个命令行分写在多行上 $ 变量值置换,如:$PATH表示环境变量PATH的值 ’ 在’…'中间的字符都会被当做普通字符处理 ‘’ 在’’…’'中间的字符会被当做文字处理并允许变量值置换...在一个命令之后加上字符“&”,该命令就会以后台方式执行 ; 按照顺序执行的多个命令 () 在子Shell中执行命令 {} 在当前Shell中执行命令 !...执行命令历史记录中的命令 ~ 代表登录用户的宿主目录(自家目录) 二、历史记录 linux系统在shell中保留了用户键入的每一个命令的历史记录,并且提供了很多种方法让用户通过历史记录找到曾经使用过的命令...它只能处理经由前面一个指令传出的正确输出信息,对错误信息信息没有直接处理能力。然后,传递给下一个命令,作为标准的输入。 五、数据处理常用工具 5.1、find文件查找命令 .

1.5K20

linux--shell

Linux shell 1、shell的概念 1)shell是一个命令行解释器,它为用户提供了一个向linux内核发送请求以便运行程序界面的系统级程序。...shell是结核性的脚本语言,在我们 shell中可以直接调用linux系统命令。...这一,那么它执行时会默认用当前Shell去解释这个脚本(即:$SHELL环境变量) 2、shell执行的原理 1)在我们计算机语言中,最底层是硬件,硬件是通过内核进行管理的。...2)反之,硬件要将输入的请求响应给外层应用,那么我们内核是无法识硬件的机器语言,那么这时shell编辑器也会将硬件处理的机器语言翻译成ascll语言给内核,内核再进行shell编辑器反馈给外层应用。...最后就会得到我们想要的结果了 3、Linux中支持的shell环境 [root@java15 ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin

9.1K20

linux shell编程

什么是shell  shell扮演者操作系统内核和用户的中间人的角色,用户通过键入shell command,然后shell通过解析用户输入,然后将请求转发给操作系统的内核进行处理。 1....还是hello world程序  首先使用vim编辑器(或者是linux下任意的文本编辑器)编写文件helloshell.sh(没有必要使用.sh后缀名):  #!.../bin/sh                                osch=0 echo "1. unix(sun os)" echo "2. linux(red hat)" echo ...        #         # nested if         if [ $osch -eq 2 ]         then                 echo "you pick up linux..."         else                 echo "what you donot like unix/linux"         fi fi #!

11.9K30
领券