sed -i ‘1d‘详解

sed -i '1d’详解

命令解析:

sed -i '1d' filename 命令用于就地删除文件 filename第一行,这意味着更改会直接应用于原始文件,而不会创建临时副本。

  • sed:代表 流编辑器(Stream Editor),用于处理文本文件的 Unix 工具。
  • -i:此选项指示 sed就地 模式运行,直接修改原始文件,而不是创建新文件。
  • '1d': 这是要执行的 sed 脚本或命令,包含两个部分:
    • 1:指定要操作的 行号。在这种情况下,它是第一行(1)。
    • d:这是 sed 用于 删除 的命令。指示 sed 删除指定的行。

综合解释:

完整命令 sed -i '1d' filename 会有效地删除文件 filename 的第一行,并将更改直接保存到原始文件中。这对于从文本文件中删除不需要的标题或介绍性行等任务很有用。

使用示例:

假设有一个名为 myfile.txt 的文件,其内容如下:

第一行要删除
第二行
第三行
第四行

运行命令 sed -i '1d' myfile.txt 会将文件内容修改为:

第二行
第三行
第四行

第一行“第一行要删除”被删除,其余行相应上移。

Sed(Stream Editor)是一种流式文本编辑器,它可以在处理文件时实时编辑文本流。它是一个非交互式的编辑器,可以从标准输入或文件中读取文本,并将结果输出到标准输出。Sed主要用于自动化文本编辑任务,例如搜索和替换、删除行、转换字符、添加或删除行等。以下是Sed常用的命令和选项: ## 基本语法 sed [选项]... [脚本] [输入文件]... - 选项:用于指定Sed的行为,例如-i选项表示原地修改文件。 - 脚本:用于指定Sed的操作,例如s/old/new/表示将文本中的old替换为new。 - 输入文件:要处理的文件名或标准输入。 ## 常用命令 1. 替换文本 替换命令格式为:s/old/new/g,其中old表示要被替换的文本,new表示替换后的文本,g表示全局替换。 示例: ``` sed 's/old/new/g' file.txt # 将file.txt中的old替换为new sed -i 's/old/new/g' file.txt # 将file.txt中的old替换为new,并原地修改文件 ``` 2. 删除行 删除命令格式为:d,表示删除当前行。 示例: ``` sed '1d' file.txt # 删除file.txt的第一行 sed '1,3d' file.txt # 删除file.txt的第1-3行 sed '/pattern/d' file.txt # 删除file.txt中匹配pattern的行 ``` 3. 插入和追加行 插入和追加命令格式为:i和a,分别表示在当前行前插入和在当前行后追加一行文本。 示例: ``` sed '1i new line' file.txt # 在file.txt的第一行前插入new line sed '1a new line' file.txt # 在file.txt的第一行后追加new line ``` 4. 替换指定行 替换指定行命令格式为:numc\new text,其中num表示要替换的行号,new text表示替换后的文本。 示例: ``` sed '1c\new line' file.txt # 将file.txt的第一行替换为new line ``` ## 常用选项 1. -i -i选项表示原地修改文件,即在文件中直接修改文本,而不是输出到标准输出。 示例: ``` sed -i 's/old/new/g' file.txt # 将file.txt中的old替换为new,并原地修改文件 ``` 2. -n -n选项表示禁止输出文本,只有通过p命令才能输出。 示例: ``` sed -n '/pattern/p' file.txt # 只输出包含pattern的行 ``` 3. -e -e选项表示允许多个编辑命令。 示例: ``` sed -e 's/old/new/g' -e '1d' file.txt # 将file.txt中的old替换为new,并删除第一行 ``` 4. -r -r选项表示启用正则表达式的扩展语法。 示例: ``` sed -r 's/(\w+) (\w+)/\2, \1/' file.txt # 将file.txt中的每行文本中的第一个单词和第二个单词颠倒顺序 ``` 以上是Sed的基础用法,还有许多高级特性和选项可以掌握,例如正则表达式、标签、分组等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chen_陈某人

一杯水,一包烟,一把键盘敲一天

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值