Linux 删除文件中匹配的行

背景:

跑了个脚本但是有很多特殊的情况,这种情况需要忽略,但是我需要把日志里的错误都拿错来,错误中穿插了特殊情况,复制的时候就得一直中断,很麻烦。
例如:
err1
err2
err3
xxxx 0 nil
err4
err5
xxxx 0 nil
就不能一下拉到底一起复制,所以就研究了下,Linux 可以通过命令,删除文件中匹配到的行。

seq

  1. sed -i ‘/preSql/d’ a.txt

    删除匹配到preSql的行

  2. sed -i ‘1d’ a.txt

    删除第一行

  3. sed -i ‘3~2d’ a.txt

    从第三行开始,每隔一行删除

  4. sed -i ‘4,8d’ a.txt

    删除从第4行到第8行

  5. sed -i ‘$d’ a.txt

    删除最后一行

  6. sed ‘/^$/d’ a.txt

    删除所有空行

  7. sed -i ‘/Website Design/,$d’ a.txt

    从匹配行到末尾行

  8. sed -i ‘/Storage/,+2d’ a.txt

    删除匹配行和之后两行

使用

比如我需要把匹配到 0 nil 的所有行删除掉,就可以使用第一种使用方式:
sed -i ‘/0 nil/d’ log.txt
文件就会变成这样
err1
err2
err3
err4
err5
叮~🔔

### 回答1: 可以使用命令工具来删除文件的空格。具体步骤如下: 1. 打开终端,进入要操作的目录。 2. 使用以下命令来查看当前目录下的所有文件名: ``` ls ``` 3. 如果文件有空格,可以使用以下命令来删除空格: ``` rename 's/ //g' * ``` 这个命令会将所有文件的空格替换为空字符,从而删除空格。 4. 使用以下命令再次查看文件名,确认空格已经被删除: ``` ls ``` 如果文件的空格已经被删除,那么操作就完成了。 ### 回答2: 在Linux,可以使用命令删除文件的空格。下面是两种常见的方法: 方法一:使用通配符和mv命令 使用通配符可以匹配文件的空格,并通过mv命令将文件重命名,从而删除空格。 1. 打开终端并进入要操作的文件所在的目录。 2. 使用ls命令列出目录文件文件夹,确认要删除空格的文件名。 3. 使用mv命令将文件重命名。例如,若要将文件的空格替换为下划线(_),可以使用以下命令: mv "原文件名" "新文件名" 例如,如果要删除名为"my file.txt"的文件的空格,可以使用以下命令: mv "my file.txt" "my_file.txt" 方法二:使用find命令和rename命令 使用find命令和rename命令可以批量处理文件的空格。 1. 打开终端并进入要操作的文件所在的目录。 2. 使用以下命令来查找所有包含空格的文件名: find . -type f -name "* *" 3. 使用rename命令对找到的文件重命名。以下是一个例子: find . -type f -name "* *" -exec rename ' ' '_' {} \; 这个命令将找到的所有文件的空格替换为下划线(_)。 以上是两种在Linux删除文件空格的方法。根据个人需求选择合适的方法进操作。 ### 回答3: 在Linux,要删除文件的空格,可以使用以下命令: 1. 使用find命令配合rename命令进批量重命名: ```bash find /path/to/directory -type f -name '* *' -exec rename 's/ /_/g' {} + ``` 这个命令会在指定的目录下查找所有包含空格的文件名,并将其空格替换为下划线。例如,如果有一个文件名是 "my file.txt",它将被重命名为 "my_file.txt"。 2. 使用rename命令直接对单个文件重命名: ```bash rename 's/ /_/g' /path/to/file ``` 这个命令将指定文件的所有空格替换为下划线。 3. 使用mv命令将含有空格的文件移动到新的文件名: ```bash mv /path/to/file /path/to/new_file_name ``` 这个命令将指定文件移动到新的文件名,并且在新的文件不包含空格。 无论使用哪种方法,都需要指定文件的路径和文件名。如果文件包含路径,需要使用相应的路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值