linux 全文搜索与删除

有时候,我们需要搜索一个目录下特定的字符,这很类似 idea 的搜索与替换,但前提是你有 idea,同时呢,还得把目录以项目的形式打开,当然,vs code 也有类似的功能。今天呢,我们要做的是,通过 linux 命令行搜索,优点是临时用用挺好。尤其是搜索系统文件的时候。我们开始吧。

Linux 命令行全文查找

find ./ -type f -name "*"|xargs grep "***" > /tmp/file.log

通过这个命令,可查询当前目录下,所有包含 *** 的文件(搜索范围是通过 -type f -name "*" 限定的),然后将结果保存到 /tmp/file.log

Linux 删除包含特定字符的行

sed -i '/***/'d `awk -F: '{print $1}' /tmp/file.log`

通过该命令,你可以删除 包含 *** 的行,前提是你已经通过第一步做了搜索。

Linux 批量字符串替换

perl -pi -e 's|test|test1|g' `find ./ -type f`

通过该命令,可以把当前目录下所有文件里的 test 为 test1

Linux 批量替换一个文件里的字符串

sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list

通过这个命令可以把 /etc/apt/sources.list 里的所有 archive.ubuntu.com 改为 mirrors.ustc.edu.cn 同理,你可以修改别的文件,sudo 可选。

本博客若无特殊说明则由 full-stack-trip 原创发布
转载请点名出处:编程生涯 > linux 全文搜索与删除
本文地址:https://www.kpromise.top/linux-search-text-in-directory-and-delete-it/

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注