首页
学习
活动
专区
圈层
工具
发布

linux之sed命令详解 原

主要介绍下linux中sed命令的一些应用,sed主要用来对文件进行一些处理,比如打印,追加,删除,替换等,我这边只对使用率比较高的一些参数进行介绍 方法/步骤 首先我这边先建一个字母大小转换的脚本...remark:如果不带-n的话,除了打印匹配行外,还会打印脚本的全部内容。 ? ? sed -e的应用。只有当sed命令传递多个编辑命令式,才会使用到-e。...比如:我想打印/tr/匹配行,并且打印匹配行所在的行号,此时存在多个sed参数,就要用到-e了。...sed中可以使用关键字来匹配行,打印我们所需要的内容,比如,我希望打印test2.sh第2,3行,可以执行:sed -n "2,3P" test2.sh,也可以执行sed -n "/tr/,/exit/...如果仅想打印替换所在行,则需要试用使用-n和-p:sed -n ‘s/tr/TR/p’ test2.sh:把脚本中的tr替换成TR,然后打印tr所在的行.

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    100+Python编程题给你练(附答案)

    colNum): multilist[row][col]= row*col print (multilist) 题8 2级 问题:编写一个程序,接受逗号分隔的单词序列作为输入,按字母顺序排序后按逗号分隔的序列打印单词...break; for sentence in lines: print(sentence) 题10 2级 问题:编写一个程序,接受一系列空格分隔的单词作为输入,并在删除所有重复的单词并按字母数字排序后打印这些单词...我们使用itemgetter来启用多个排序键。...按字母顺序对键进行排序后输出。 假设为程序提供了以下输入: New to Python or choosing between Python 2 and Python 3?...:1 New:1 Python:5 Read:1 and:1 between:1 choosing:1 or:2 to:1 提示:如果输入数据被提供给问题,则应该假定它是控制台输入。

    2.2K31

    100+Python编程题给你练(附答案)

    range(colNum):         multilist[row][col]= row*col print (multilist)  题8 2级 问题:编写一个程序,接受逗号分隔的单词序列作为输入,按字母顺序排序后按逗号分隔的序列打印单词...        break; for sentence in lines:     print(sentence)  题10 2级 问题:编写一个程序,接受一系列空格分隔的单词作为输入,并在删除所有重复的单词并按字母数字排序后打印这些单词...我们使用itemgetter来启用多个排序键。 ...按字母顺序对键进行排序后输出。 假设为程序提供了以下输入:  New to Python or choosing between Python 2 and Python 3?...:1 New:1 Python:5 Read:1 and:1 between:1 choosing:1 or:2 to:1  提示:如果输入数据被提供给问题,则应该假定它是控制台输入。

    4.1K00

    Linux常用命令

    echo “HELLO” |tr ‘[A-Z]’ ‘[a-z]’ 将大写字母转换成小写字母 ls /etc | wc -w 查看/etc目录下有多少个子内容 cat 5.txt | sort | uniq...if(1 ~ “aa”) print 0 如果第一段 包含 “aa”, 就打印这一行内容 if(1 == “lisi”) print 0 如果第一段 等于 “lisi”, 就打印这一行内容 sed...可选项 目标文件 对目标文件 进行 过滤查询 或 替换 p 打印 $ 代表 最后一行 -n 仅显示处理后的结果 -e 根据表达式 进行处理 sed -n -e ‘1,5p’ 1.txt 列出 1.txt...1.txt 列出01.txt的所有数据 且 显示行号 sed -nr -e ‘/r+t/p’ -e ‘/r+t/=’ 01.txt 查找出1.txt中 字母r后面是多个t的行,并显示行号 -r 识别正则...nologin替换为 huawei sed -i -e ‘s/nologin/huawei/’ 01.txt -i 替换原有文件内容 在01.txt文件中第2、3行替换为aaaaaa sed -i -e ‘2,3c

    1.5K30

    有 3 个进程 P1、P2、P3 协作解决文件打印问题。P1 将文件记录从磁盘读入内存的缓冲区 1,每执行一次读一个记录 ;P2 将缓冲区 1 中的内容复制到缓冲区 2 中,每执行一次复制一个记录 ;

    有 3 个进程 P1、P2、P3 协作解决文件打印问题。...P1 将文件记录从磁盘读入内存的缓冲区 1,每执行一次读一个记录 ;P2 将缓冲区 1 中的内容复制到缓冲区 2 中,每执行一次复制一个记录 ;P3 将缓冲区 2 中的内容打印出来,每执行一次打印一个记录...请用信号量机制来保证文件的正确打印。...1){ p(full1);//等1中有记录 p(emtpy2); v(full2); 从缓冲区1中取记录放入缓冲区2; v(emtpy1);//释放缓冲区1 } } p3()...{ while(1){ p(full2);//等缓冲区2中有记录 从缓冲区2中取出记录 v(emtpy2);//释放缓冲区2 打印; } } ​

    76330

    深度学习如何挑选GPU?

    由于TPU具有复杂的并行基础结构,因此如果使用多个云TPU(相当于4个GPU),TPU将比GPU具有更大的速度优势。因此,就目前来看,TPU更适合用于训练卷积神经网络。...如果在多个GPU上运行,应该先尝试在1个GPU上运行,比较两者速度。由于单个GPU几乎可以完成所有任务,因此,在购买多个GPU时,更好的并行性(如PCIe通道数)的质量并不是那么重要。...2)来自Lambda的评测[2,3] https://lambdalabs.com/blog/best-gpu-tensorflow-2080-ti-vs-v100-vs-titan-v-vs-1080...answer/1010987691 大家用的最多的可能是Google Colab,毕竟免费,甚至能选TPU 不过现在出会员了: 免费版主要是K80,有点弱,可以跑比较简单的模型,有概率分到T4,有欧皇能分到P100...付费就能确保是T4或者P100,一个月10美元,说是仅限美国。

    2.9K30

    深度学习如何挑选GPU?

    由于TPU具有复杂的并行基础结构,因此如果使用多个云TPU(相当于4个GPU),TPU将比GPU具有更大的速度优势。因此,就目前来看,TPU更适合用于训练卷积神经网络。...如果在多个GPU上运行,应该先尝试在1个GPU上运行,比较两者速度。由于单个GPU几乎可以完成所有任务,因此,在购买多个GPU时,更好的并行性(如PCIe通道数)的质量并不是那么重要。...2)来自Lambda的评测[2,3] https://lambdalabs.com/blog/best-gpu-tensorflow-2080-ti-vs-v100-vs-titan-v-vs-1080...answer/1010987691 大家用的最多的可能是Google Colab,毕竟免费,甚至能选TPU 不过现在出会员了: 免费版主要是K80,有点弱,可以跑比较简单的模型,有概率分到T4,有欧皇能分到P100...付费就能确保是T4或者P100,一个月10美元,说是仅限美国。

    2.2K30

    字符串与内存函数的介绍+模拟实现

    include int main() { char arr1[20] = "hello "; char arr2[] = "world"; strncat(arr1,arr2,3...strtok char* strtok(char* str,const char* sep); sep参数是一个字符串,定义了用来作分隔符的字符集合 第一个参数指定一个字符串,它包含了0个或者多个由sep...字符串或者多个分隔符分割的标记。...af,大写字母AF islower 小写字母a~z isupper 大写字母A~Z isalpha 字母az或者AZ isalnum 字母或者数字 ispunct 标点符号,任何不属于数字或者字母的图形字符...(可打印) isgraph 任何图形字符 isprint 任何可打印字符,包括图形字符和空白字符 字符转换函数 函数 功能 tolower 将大写字母转换为小写字母 toupper 将小写字母转换为大写指针

    15610

    AI | 深度学习GPU怎么选(建议收藏)

    由于TPU具有复杂的并行基础结构,因此如果使用多个云TPU(相当于4个GPU),TPU将比GPU具有更大的速度优势。因此,就目前来看,TPU更适合用于训练卷积神经网络。...如果在多个GPU上运行,应该先尝试在1个GPU上运行,比较两者速度。由于单个GPU几乎可以完成所有任务,因此,在购买多个GPU时,更好的并行性(如PCIe通道数)的质量并不是那么重要。...2)来自Lambda的评测[2,3] https://lambdalabs.com/blog/best-gpu-tensorflow-2080-ti-vs-v100-vs-titan-v-vs-1080...answer/1010987691 大家用的最多的可能是Google Colab,毕竟免费,甚至能选TPU 不过现在出会员了: 免费版主要是K80,有点弱,可以跑比较简单的模型,有概率分到T4,有欧皇能分到P100...付费就能确保是T4或者P100,一个月10美元,说是仅限美国。

    4.5K20

    正则表达式

    匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 […] 匹配[…]内任意字符 | 或 ^和$ 分别表示匹配字符串的开始和结束,java中可以省略,...2)\S 匹配除空格以外的任意字符形如:1,* ,) 3、限定字符 代码 说明 * 重复零次或更多次 + 重复一次或更多次 ?...重复零次或一次 {n} 重复n次 {n,} 重复n次或更多次 {n,m} 重复n到m次 示例: 1)\d* 匹配重复0次或多次数字 例如:可能为空 或 任意数字 (2,3。。。。)...2)\d+ 匹配重复1次或多次数字 例如:可能为1个或多个数字 1,23,234,2345,… 3) \d? 匹配重复次个或者一次数字 例如:可能为空或者任意的一个数字(1,2,。。。)..."; Pattern p = Pattern.compile("the"); Matcher m = p.matcher(s); while (m.find()){ String sub = s.substring

    15400

    这么多年了,还搞不懂正则语法?

    我的理解是,m标志用于指定多行输入的字符串应该被当作多个行。...,并且使用了+符号来修饰前一个规则,以匹配所有满足前一个规则的所有字符,上面的代码将打印输出:['for', 'if', 'rof', 'fi']。...如果email是有两个连接符的student — id@alumni.school.edu,那么会被认为是一个不合法的邮箱 3.第三部分是@\w+,会检查有一个符号@,并且其后w+表明有一个或多个字母、...[a-zA-Z]{2,3})+,是检查邮件格式的重要部分。这部分将匹配邮箱地址中的顶级域名,会匹配到域名中的后缀,例如com、org或net。首先会寻找到一个.,然后是2~3个无论大小写的英文字母。...2:' 667699'[x=["Bs","Tab","Caps","Enter"][p++]||'Shift',p])}\\|`,m+=y+(x+' ').slice(0,w)+y+y,n+=y+

    2.6K30

    基于Python的语料库数据处理(六)

    今天我们学习的内容是匹配零个或多个字符! 一、常用的表示数量的符号 我们常常需要一次匹配零个、一个或多个字符,因此需要使用一些表示数量的符号,下表列出了常用的表示数量的符号。...例如:b+可以匹配一个或者连续多个b字母;\w+可以匹配一个或多个字母或数字或下划线;\d*可以匹配零个或多个数字;\s?可以匹配零个或一个空白。 我们来看一个例子。例子文本节选自 FROWN语料库。...+)组合一次或者多次(当然,可以简单地用\w+来匹配)。...假设我们只希望匹配重复2次或3次的“字母+数字”组合,则需要用([a-z]+[0-9]+){2,3}来匹配。 我们来看一个例子。...两次搜索结果不同的原因在于,“+”表示一个或多个,在第一次匹配到字符串的最后一个字符“>”后,搜索过程即完成;而“*”表示零个或多个,在第一次匹配到字符串的最后一个字符“>”后,再进行第二次检索,检索结果为零个字符

    69510

    (数据科学学习手札31)基于Python的网络数据采集(初级篇)

    的内容''' text = obj.findAll('p') print(text) 运行结果: 多个标签内容的捆绑提取: from urllib.request import urlopen from...“a”至少出现一次;   2、后面接上重复5次的“b”;   3、后面再接上重复任意偶数次的字母“c”;   4、最后一位字母是“d”或没有。...,因此aa*的组合代表a至少出现一次;bbbbb表示连续出现5次b;(cc)*表示cc出现任意次,对应重复任意次(包括0次)的c;(d|)表示出现d或无任何字符,对应“最后一位是字母d或没有”,这样一个由若干规则按顺序组合起来的字符串...、小写字母、数字0-9、点号....''' text = obj.findAll('p',text=re.compile('.*?'))

    2K130

    Linux常用命令 sed 使用简述

    Linux/UNIX中的sed命令是Stream Editor文本流编辑的缩写,它能同时处理多个文件多行的内容,比如文搜索,查找和替换,插入或删除。...print即打印,该命令会打印当前选择的行到屏幕上; s: 替换,通常s命令的用法是这样的:1,2s/old/new/g,将old字符串替换成new字符 使用方法:...linuxmi [linuxmi@linux:~/Linux迷] $ sed '1 a\linuxmi' LinuxMi.py 1 a是第一行的意思, 比如是2到3行 可以用 2,...p是屏幕打印和d的用法一样 6、s命令用法 主要是替换内容,比如在文本里面把 regex 全部替换成regexp [linuxmi@linux:~/Linux...5p' LinuxMi.py sed可以用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等。

    1.6K20

    使代码更简洁(一)---List相关

    Iterator,用户只能显式地一个一个遍历元素并对其执行某些操作;高级版本的 Stream,用户只要给出需要对其包含的元素执行什么操作,比如 “过滤掉长度大于 10 的字符串”、“获取每个字符串的首字母...Stream 就如同一个迭代器(Iterator),单向,不可往复,数据只能遍历一次,遍历过一次后即用尽了,就好比流水从面前流过,一去不复返。...下面是一些利用stream写的工具类 打印list中的元素 /** * * @author zlf * */ public class ListUtils { /** * 打印list中的元素...要删除的元素 * @return 返回删除了指定元素的list * eg:list:[1,2,3,1]---removeElementFromList(list,1)---return list:[2,3..., (p1, p2) -> p1.getId()-p2.getId()); */ public static List sortList(List list, Comparator

    44310

    NotePad++ 正则表达式替换 高级用法

    {m,n} 匹配至少m次,至多n次(如果n缺失,则任意次数).例如, ‘Sa{2,3}m’ 匹配 Saam or Saaam. ‘Sa{2,}m’ 与 ‘Saa+m’相同 *?, +?, ??...>’ 只匹配 ” .这个标记一个标签区域,这些区域可以用语法\1 \2 等访问多个对应1-9区域。 2 标记和分组 符号 解释 (…) 一组捕获....e)’ 表达式,当遇到’Apple’时,会找到每个字母除了 ‘l’,因为它紧跟着 ‘e’. (? 非捕获组 – 消极向后断言. 例如 ‘(? (?P…) 命名所捕获的组....P=first)’ 会找到 ‘Apple Apple’. 类似的 ‘(A[^\s]+)\s\1’ 使用组名而不是数字. (?=name) 匹配名为name的组. (?P…). (?...@[]_`{ [[:graph:]] 匹配图形字符: [\x21-\x7E] [[:print:]] 匹配可打印的字符 (graphical characters and spaces) [[:cntrl

    5K30
    领券