Sed:使用Sed终端命令学习Shell脚本

Sed:使用Sed终端命令学习Shell脚本

Sed:使用Sed终端命令学习Shell脚本

命令“ sed” 在GNU / Linux类型的自由操作系统中,它是一个非常通用的命令,因为反过来 它被认为是面向“流”而不是典型的“交互”的文本编辑器,因为它接受文件或标准输入作为输入,然后处理每一行并将结果发送到标准输出。 也就是说, SED(流EDitor)使我们可以基于一系列命令或命令文件来修改文件不同行的内容。

通常,命令“ sed”用作过滤器,因为它会读取数据条目的每一行,然后执行通常读取,提取,修改,显示或保存的请求的操作。 虽然它的力量是如此 此外,它还使我们能够以舒适的方式删除行,记录或替换文件行中的字符串。

“ sed”命令简介

已经在之前的其他出版物中 DesdeLinux 我们已经讨论并展示了有关使用所述命令的示例,例如: 如何从文件中删除特定行... y 带终端:使用正则表达式II:替换,因此这次我们将直接看到更高级的示例,并且是使用它的一些实际示例。

基本上,命令“ sed”具有以下语法:

sed comandos_sed archivo

哪里 “ Command_sed” 对应于一个或多个有关如何处理从中读取的行的规范 “存档”。

更广泛的使用使我们有了以下语法:

sed [-ns] '[direccion] instruccion argumentos'

其中:

SED命令用法格式

实际例子

列出路径中的文件/文件夹

有用的命令行,可用于列出指示的X路径的内容,然后检测/计数/过滤搜索到的项目并指示要执行的后续操作。

ls -l | awk '{ print $NF }' | sed 1d

例如:

例1:SED命令-Shell脚本

使用“ sed”命令的另一个变体非常有用:

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed 's/^\.\///g' | xargs -n 1 basename

示例4:用于Shell脚本的SED命令

创建一个数字序列

在屏幕上显示或将创建的数字序列(或任何其他输入)保存在文件中,但是以水平(线性)而非垂直的方式保存,以后可以读取以供其他过程使用。

seq 100|tr '\n' ' '|sed 's, $,\n,g'

示例2:用于Shell脚本的SED命令

可以通过组合命令«口渴”“ Printf” 如下所示:

printf '%s ' {1..100}|sed 's/ $/\n/'

示例3:用于Shell脚本的SED命令

删除带有排除项的文件

在文件系统路径中筛选以查找要排除的文件模式,然后删除其余内容对于精确和仔细的清洁非常有用。

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed -e '/.*\.txt$/d' -e '/.*\.exe$/d' | xargs rm

示例5:Shell_Scripting的SED命令

创建一个虚拟MAC地址

当浏览危险站点或执行黑客任务时,此步骤对于计算机安全或保护任务很有用。

MAC=`(date; cat /proc/interrupts) | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'` ; echo $MAC

结合使用“ sed”命令和其他命令可以达到相同的效果,如下所示:

openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
od -An -N10 -x /dev/random | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'
od /dev/urandom -w6 -tx1 -An|sed -e 's/ //' -e 's/ /:/g'|head -n 1

例如:

示例7:用于Shell脚本的SED命令

临时更改终端提示

这可以帮助我们在提示中临时插入参数,这些参数在我们执行特殊活动时对我们很有用。 在此示例中,我们将仅更改提示的显示方式。

export PS1="C:\$( pwd | sed 's:/:\\\\\\:g' )\\> "

例子8. Shell脚本的SED命令

管理“ ps”命令的输出

非常实用的命令顺序,用于格式化《 ps》命令的输出,即从终端进程管理器中获取的命令。

sudo ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed "/^ 0.0 /d"

例如:

示例9:用于Shell脚本的SED命令

可以根据消耗的内存百分比将其应用于进程:

sudo ps -e -o pmem,nice,state,cputime,args --sort pmem | sed "/^ 0.0 /d"

这些命令行示例使用命令“ sed”,希望您发现它非常有用。 它们可以直接从控制台使用,也可以通过将其插入脚本(自动任务)间接使用。

在关于Shell脚本的下一篇文章中,我们将探索其他命令。

如果您想了解有关“ sed”命令的更多信息,请访问此链接“Unix和Linux教程和简要指南“或”基本用途»并且如果您想在我们自己的博客中了解有关Shell脚本的更多信息,您可以通过单击此处查看我们在该主题上的其他出版物: 脚本编写 DesdeLinux.


成为第一个发表评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。