精华内容
下载资源
问答
  • linux 截取文件命令

    2010-09-02 18:02:00
    显示文件的第 2 到第 6 行     awk -F"/n" '{if(NR>=2&&NR)print $0 }' mmnservice.cpp     sed -n '2,6p' file     head -n 10 a.c /...

    <!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:"/@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} pre {margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:宋体; mso-bidi-font-family:宋体;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} div.Section1 {page:Section1;} -->

     

    显示文件的第 2 到第 6

     

     

    awk -F"/n" '{if(NR>=2&&NR<=6)print $0 }' mmnservice.cpp

     

     

    sed -n '2,6p' file  

     

     

    head -n 10 a.c //
    显示a.c
    文件前10
     
    
     
    
    head -n 6 file|tail -n 4//
    显示文件前6
    行的后4
     
    

    展开全文
  • Linux字符截取命令-cut作者 | WenasWei一 Linux之cut命令详解将每个文件中选定的行部分打印到标准输出, 如果没有文件,或者文件是-,则读取标准输入,长选项的强制参数对于短选项也是强制的。cut 是一个选取命令,...

    Linux字符截取命令-cut

    1460000039906181

    作者 | WenasWei

    一 Linux之cut命令详解

    将每个文件中选定的行部分打印到标准输出, 如果没有文件,或者文件是-,则读取标准输入,长选项的强制参数对于短选项也是强制的。

    cut 是一个选取命令,一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的,用于显示每行从开头算起 num1 到 num2 的文字。

    1.1 使用语法cut [-bn] [file]

    cut [-c] [file]

    cut [-df] [file]

    1.2 使用说明

    cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。

    如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一, cut 默认以制表符为分隔符。

    参数:-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。

    -c :以字符为单位进行分割。

    -d :自定义分隔符,默认为制表符。

    -f :与-d一起使用,指定显示哪个区域。

    -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的范围之内,该字符将被写出;否则,该字符将被排除

    在 -b、-c 或 -f 中只能使用一个。每个LIST由一个组成

    范围,或用逗号分隔的多个范围。选定的输入被写入

    顺序与读取和写入的顺序相同。

    1.3 三个方法定位

    cut 命令主要是接受三个定位方法:第一,字节(bytes),用选项 -b

    第二,字符(characters),用选项 -c

    第三,域(fields),用选项 -f

    二 cut 帮助文档

    执行命令查询帮助文档:cut --help

    1460000039906182

    cut帮助文档解析:

    (1)'-b字节列表'

    '--bytes =字节列表'

    选择仅打印字节列表中列出的位置中的 字节。制表符和退格键与其他任何字符一样;他们占用了1个字节。如果指定了输出定界符,然后在所选字节范围之间输出该字符串。

    (2)'-c字符列表'

    '--characters =字符列表'

    选择仅打印在 character-list 中列出的位置中的 字符。目前与 -b 相同,但是国际化将改变这种状况。制表符和退格键与其他任何字符一样;他们占1个字符。如果指定了输出定界符,然后在所选字节范围之间输出该字符串。

    (3)'-d input_delim_byte'

    '--delimiter = input_delim_byte'

    和 -F,请使用 input_delim_byte 的第一个字节作为输入字段分隔符(默认为TAB)。

    (4)'-f字段列表'

    '--fields =字段列表'

    选择仅打印在 field-list 中列出的字段。默认情况下,字段之间用TAB字符分隔。还要打印任何不包含定界符的行,除非 -仅定界 (-s)选项已指定。

    (5)'-n'

    不要拆分多字节字符。

    (6)'-s'

    '-仅定界'

    为了 -F,请勿打印不包含字段分隔符的行。通常,任何没有字段分隔符的行都按原样打印。

    三 命令详解与使用案例

    3.1 实例一: 查询命令结合 cut -b

    当你执行 who 命令时,会输出类似如下的内容:$ who

    root pts/1 2021-04-25 21:51 (58.62.93.183)

    root pts/0 2021-04-25 21:50 (58.62.93.183)

    (1) 提取每一行的第3个字节$ who|cut -b 3

    o

    o

    (2) 提取第1,第2、第3个字节

    方案1:$ who |cut -b 1-3

    roo

    roo

    roo

    方案2:$ who |cut -b 1,2,3

    roo

    roo

    roo

    -b 支持形如 1-3 的写法,而且多个定位之间用逗号隔开就可以了。

    注意:

    cut 命令如果使用了-b选项,那么执行此命令时,cut 会先把 -b 后面所有的定位进行从小到大排序,然后再提取。不能颠倒定位的顺序。

    (3) 提取第1到第3,第5和第20个字符之后的所有数据who|cut -b 1-3,20-

    roo 2021-04-25 21:51 (58.62.93.183)

    roo 2021-04-25 21:50 (58.62.93.183)

    roo 2021-04-25 23:05 (58.62.93.183)

    (4) 提取第n个字节前后所有的字节

    n = 2 的情况下

    方案1:$ who |cut -b 2-

    oot pts/1 2021-04-25 21:51 (58.62.93.183)

    oot pts/0 2021-04-25 21:50 (58.62.93.183)

    oot pts/2 2021-04-25 23:05 (58.62.93.183)

    方案2:$ who |cut -b -2

    ro

    ro

    ro

    3.2 实例二: 文本文件结合 cut -c

    (1)创建测试文件创建一份测试文件: test.txtvi test.txt

    测试文件内容数据apple=苹果=pingguo

    create=创建

    delect=删除

    exe=程序

    good=好的

    (2) -c 和 -b 的使用区别

    -c与命令查询结果:who|cut -c 1-3,20-

    roo 2021-04-25 21:51 (58.62.93.183)

    roo 2021-04-25 21:50 (58.62.93.183)

    roo 2021-04-25 23:05 (58.62.93.183)

    看似查询结果相同,只是因为这个例子 who 输出取的数据都是字节字符,所以用 -b 和 -c 没有区别,如果你提取中文,区别就看出来了,看看中文提取的情况:$ cut -b 3-10 test.txt

    ple=苹

    eate=创

    lect=删

    e=程序

    od=好

    $ cut -c 3-10 test.txt

    ple=苹

    eate=创

    lect=删

    e=程序

    od=好结果发现,这个问题不知道哪个版本已经修复了,附加上测试使用的 linux 版本,其他命令与 -b使用类似,下面将不再一一列举。$ cat /proc/version

    Linux version 4.15.0-52-generic (buildd@lgw01-amd64-051) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #56-Ubuntu SMP Tue Jun 4 22:49:08 UTC 2019

    3.3 实例三: cut -d 与 -f 的共同使用

    cut 的 -d 选项的默认间隔符就是制表符,所以当你就是要使用制表符的时候,完全就可以省略 -d 选项,而直接用-f来取域就可以了。

    (1) 结合查询命令取出指定符号的切割的第一域$ head -n 5 /etc/passwd

    root:x:0:0:root:/root:/bin/bash

    daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin

    bin:x:2:2:bin:/bin:/usr/sbin/nologin

    sys:x:3:3:sys:/dev:/usr/sbin/nologin

    sync:x:4:65534:sync:/bin:/bin/sync

    $ head -n 5 /etc/passwd |cut -d ':' -f 1

    root

    daemon

    bin

    sys

    sync

    (2) 取出文档中指定符号的切割的第一域$ head -n 5 test.txt |cut -d : -f 1

    apple=苹果=pingguo

    create=创建

    delect=删除

    exe=程序

    good=好的

    $ head -n 5 test.txt |cut -d = -f 2

    苹果

    创建

    删除

    程序

    好的

    (3)如上 -b 中的拼接规则同理使用$ head -n 5 test.txt |cut -d = -f2-

    $ head -n 5 test.txt |cut -d = -f2,3

    $ head -n 5 test.txt |cut -d = -f2-3

    (4)分隔符必须为单个字符,多个异常如下$ cat test.txt |cut -d '==' -f2-3

    cut: the delimiter must be a single character

    四 使用场景和缺陷不足

    4.1 cut的使用场景cut命令用来显示行中的指定部分,删除文件中指定字段

    脚本切割读取文件或者指定命令信息

    统计指定的服务器信息处理,进行归纳统计

    4.2 cut的缺陷和不足不能处理多空格

    如果文件里面的某些域是由若干个空格来间隔的,那么用cut就有点麻烦了,因为 cut 只擅长处理“以一个字符间隔”的文本内容

    4.3 cut和awk的差别当一个文件中每一行都含有一个或多个空格时,这时候只能用 awk 来分隔

    cut默认的分隔符是制表符,awk默认的分隔符是一个空格或者多个空格或者是制表符

    语法格式不同

    参考文档:

    展开全文
  • Linux 截取日志命令

    2020-06-18 11:48:01
    截取2020-06-18 10:10 到2020-06-18 10:20 之间的日志记录,catalina.out 为你要截取文件名称,new2.log 截取之后保存日志的文件名称。 sed -n '/2020-06-18 10:10/, /2020-06-18 10:20/' p catalina.out > ...

    1、截取时间段

    截取 2020-06-18 10:10 到 2020-06-18 10:20 之间的日志记录,catalina.out  为你要截取的文件名称, new2.log 截取之后保存日志的文件名称。

    sed -n '/2020-06-18 10:10/, /2020-06-18 10:20/' p catalina.out  > new1.log

    sed -n '/2020-06-18 10:20:47/, /2020-06-18 10:26:47/' p  catalina.out  > new2.log

    sed -n '/2020-06-18 10:20:47.728/, /2020-06-18 10:26:47.728/' p  catalina.out  > new3.log

    说明:时间段可根据自己的需要进行修改,可精确到毫秒。

    2、截取行数

    截取 catalina.out  文件中的100 - 500 行的日志, new.log 为截取保存之后的文件。

     sed -n '100,500'p catalina.out  > new.log

    展开全文
  • Linux截取文件

    千次阅读 2018-12-24 11:10:49
    1. 如果你只想看文件的前100行,可以使用head命令,如 head -100 filename 2. 如果你想查看文件的后100行,可以使用tail命令,如: tail -100 filename 或 tail -n 100 filename 3. 查看文件中间一段,你可以使用sed...

    1. 如果你只想看文件的前100行,可以使用head命令,如
    head -100  filename
    2. 如果你想查看文件的后100行,可以使用tail命令,如:
    tail -100  filename 或 tail -n 100  filename
    3. 查看文件中间一段,你可以使用sed命令,如:
    sed -n '100,200p' filename 
    这样你就可以只查看文件的第100行到第200行。

    截取的文件可以用重定向输入到新的文件中:
    head -100  filename >a.txt
     

    展开全文
  • linux截取文件中的某几行

    千次阅读 2018-09-29 20:59:21
    linux截取文件某几行的命令如下: 1.截取前5行:head -5 filename,filename是你要截取的文件名,不在当前目录下要加路径的。 2.截取后5行:tail -5 filename 3.截取5-10行,并重新输入到另一个文件中 ...
  • 一、简单截取假设有变量var=http://www.google.com/test.htm1、 #号截取,删除左边字符,保留右边字符。echo${var#*//}其中var是变量名,#号是运算符,*//表示从左边开始删除第一个//号及左边的所有字符即删除...
  • 参考:https://www.cnblogs.com/alexyuyu/p/6376200.htmlhttps://segmentfault.com/q/1010000000139744截取一段时间内的log日志可以使用sed命令对log文件进行抽取操作:1,sed查看某时间段到现在的系统日志:sed -n '...
  • linux命令截取文件

    2010-11-02 10:13:05
    linux命令截取文件 果我有个文件a.txt,我想截取它的后100行存如文件b.txt, 运行命令tail -100 a.txt > b.txt 转载于:https:...
  • Linux截取文件指定行数之间的内容到指定文件 一、利用vi命令找到文件相关行数据内容 vi filename :set nu 二、sed命令操作文件 sed -n '开始行,结束行p' filename > newfile ...
  • 方法1: (head 和 tail通过管道组合)[root@VM_179_129_centos tmp]# head -30 ett.txt | tail -112021222324252627282930123456789101112命令解释:head -n 30 xxx.txt == head -30 xxx.txt 取文件前30行内容tail -11...
  • Linux截取文件的首/尾部

    千次阅读 2019-05-28 14:03:49
    截取文件的首/尾部  问题 查看/etc/passwd文件开头2行、末尾2行的内容 将当前主机的所有IP地址信息存入文件ipadd.txt,查看其中前2行内容 查看CPU记录信息的前10行内容、内存记录信息的前4行内容  方案 head...
  • Linux截取文件指定行数之间的内容

    千次阅读 2019-04-28 16:09:56
    如果你只想看文件的前100行,可以使用head命令,如head -100 filename 如果你想查看文件的后100行,可以使用tail命令,如:tail -100 filename 或 tail -n 100 filename 查看文件中间一段,你可以使用...截取文件...
  • linux日志截取命令

    千次阅读 2018-07-24 09:57:35
    截取tomcat日志的命令: sed -n '/2018-03-13 00:00:/,/2018-03-15 18:00:/p' catalina.out &gt; catalina_new.out 不知道的可以记一下,进入到logs文件夹,执行这个命令会将13号0点-15号0点的日志生成成...
  • Linux字符截取命令-cut 做者 | WenasWeihtml一 Linux之cut命令详解将每一个文件中选定的行部分打印到标准输出, 若是没有文件,或者文件是-,则读取标准输入,长选项的强制参数对于短选项也是强制的。nodecut 是一个...
  • Linux字符截取命令-cut

    2021-04-26 01:36:53
    Linux字符截取命令-cut 作者 | WenasWei 一 Linux之cut命令详解 将每个文件中选定的行部分打印到标准输出, 如果没有文件,或者文件是-,则读取标准输入,长选项的强制参数对于短选项也是强制的。 cut 是一个选取命令...
  • linux命令截取文件最后n行(所有命令) tail -n a.txt > b.txt 联想:系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q ...
  • Linux 截取线上日志

    千次阅读 2017-01-10 11:00:26
    按日期截取线上日志命令 (1)首先,需清楚日志输出的时间日期格式,具体命令如下: sed -n ‘/6-5 00:00:00/,/6-5 16:30:31/’p catalina.log > test.log 上面的命令就代表截取总日志catalina.log中日期为6月...
  • linux视频截取命令(ffmpeg)

    千次阅读 2019-06-13 10:50:52
    格式: ffmpeg -ss 00:00:00 -t 00:00:30 -i test.mp4 -vcodec copy -acodec ...* -i 指定输入文件 截取实例:(实测截取结束时间不太精确,可以分两个截取,起始时间比较精确) ffmpeg -ss 00:00:00 -t 00:0...
  • Linux 字符截取命令

    2017-07-29 14:02:28
    cut命令命令格式:cut 【选项】文件名 选项: -f 列号 提取第几列  -d 分隔符 按照指定分隔符分割列 printf命令命令格式:printf “输出类型输出格式” 输出内容 输出内容: %ns: ...
  • Linux按时间截取日志命令

    万次阅读 2018-06-22 11:56:59
    最近遇到一个问题,要导出一个系统的日志,但是日志文件实在是太大了,导出知道在本地根本无法打开,所以想到通过命令来把需要的时间段的日志截取后再导出。sed -n '/开始时间/,/结束时间/' 被截取日志原文件名称&...
  • # 从大文本文件提取前100行到新文本文件 head -100 bigFilename.log > sample.log
  • Linux日常运维中有时候需要对文本内容进行处理,比如文本截取功能,这个时候可以使用Linux下的cut命令对格式有规范的文本进行截取。语法格式:cut -f指定的列 ...
  • 如果你只想看文件的前100行,可以使用head命令,如 head -100 filename 如果你想查看文件的后100行,可以使用tail命令,如: ...截取文件可以用重定向输入到新的文件中: head -100 filename >a.txt ...
  • 1.截取linux文件存储路径方法 package com.tydic.eshop.action.freemarker; public class dddd { public static void main(String[] args) { String strParentUrl = "/home/tomcat7/ecp/t8086/webapps/e...
  • linux替换、截取文件内容的sed命令

    千次阅读 2016-07-08 16:55:38
    sed 's/"",/",/g' I01502_20151123.csv.back >> I01502_20151123....文件截取 sed -n '3,25p' file >>file2 将文件file中的第3-25行输出到file2中 sed -n '1,2p' file >>file2 sed -n '/^2012-02-09
  • cut 字段列提取命令 命令语法:cut [选项] 文件名 命令选项:-f 列号,提取第几列;-d 分隔符,按照指定的分隔符分割列。 示例: [root@192 cut]# cat score.txt Id Name Gender Score 1 zhangsan M 90 2 lisi ...
  • linux文件截取前几行,后几行,中间几行命令 如果你只想看文件的前100行,可以使用head命令,如 head -100 filename 如果你想查看文件的后100行,可以使用tail命令,如: tail -100 filename 或 tail -n 100 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,345
精华内容 16,138
关键字:

linux截取文件命令

linux 订阅