linux shell之paste合并文件和找到匹配的文件里面替换内容(find和-exec或xargs组合)

简介: linux shell之paste合并文件和找到匹配的文件里面替换内容(find和-exec或xargs组合)

1 问题

1)合并2个文件,这里用paste命令


2)找到匹配的文件里面替换内容,这里用find 和 -exec或xargs命令组合


2 实现

1)合并2个文件,这里用paste命令,我们在paste后面加参数-d 然后加" ",表示文件之间内容隔着空格,“,”表示文件之间内容隔着内容

cat 1.txt 
1
2
3
4
5
6
cat 2.txt
chenyu
chengongyu
hello
paste 1.txt 2.txt -d ','
1,chenyu
2,chengongyu
3,hello
4,
5,
6,
paste 1.txt 2.txt -d ' '
1 chenyu
2 chengongyu
3 hello
4 
5 
6 

2)把当前目录下的cpp文件里的chenyu替换成hello(find和-exec组合)

cat 1.cpp 
chenyu
chengongyu
chenzixuan
chenyu
cat 2.cpp 
chenyu
chenzixuan
chengongyu
chenyu
cat 3.cpp 
chenyu
chencaifeng
chengongyu
cat 4.cpp 
chenyu
chengong
chenyu
chencaifeng
find . -name "*.cpp" -exec sed -i 's/chenyu/hello/' {} \;
cat 1.cpp 2.cpp 3.cpp 4.cpp 
hello
chengongyu
chenzixuan
hello
hello
chenzixuan
chengongyu
hello
hello
chencaifeng
chengongyu
hello
chengong
hello
chencaifeng

3)把当前目录下的cpp文件里的hello替换成chenyu(find和xargs组合)

find . -name "*.cpp" | xargs sed -i 's/hello/chenyu/'
cat 1.cpp 2.cpp 3.cpp 4.cpp 
chenyu
chengongyu
chenzixuan
chenyu
chenyu
chenzixuan
chengongyu
chenyu
chenyu
chencaifeng
chengongyu
chenyu
chengong
chenyu
chencaifeng

3 要注意的地方

1)使用sed命令的时候要记得参数加-i,然后后面一般是's/pattern/replace_str/'  而不是's/pattern/replace_str'  忘记最后一个左斜杠会报错


2)我们使用-exec的时候一般模式是下面的

-exec commond {} \;   这个{}和\;不能挨着一起,同时\;不能分开,比如\ ;也会有问题


相关文章
|
25天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
57 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
11天前
|
Ubuntu Linux Go
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
85 14
|
10天前
|
存储 NoSQL Linux
linux积累-core文件是干啥的
核心文件是Linux系统在程序崩溃时生成的重要调试文件,通过分析核心文件,开发者可以找到程序崩溃的原因并进行调试和修复。本文详细介绍了核心文件的生成、配置、查看和分析方法
42 6
|
12天前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
38 8
|
12天前
|
存储 NoSQL Linux
linux之core文件如何查看和调试
通过设置和生成 core 文件,可以在程序崩溃时获取详细的调试信息。结合 GDB 等调试工具,可以深入分析 core 文件,找到程序崩溃的具体原因,并进行相应的修复。掌握这些调试技巧,对于提高程序的稳定性和可靠性具有重要意义。
61 6
|
2月前
|
Linux 开发工具 Perl
在Linux中,有一个文件,如何删除包含“www“字样的字符?
在Linux中,如果你想删除一个文件中包含特定字样(如“www”)的所有字符或行,你可以使用多种文本处理工具来实现。以下是一些常见的方法:
45 5
|
2月前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
43 1
|
2月前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
57 6
|
Linux Go 数据安全/隐私保护
linux常用命令手册 用户管理useradd 文件权限管理chmod 搜索管理find grep
linux常用命令手册 用户管理useradd 文件权限管理chmod 搜索管理find grep
104 2
|
4月前
|
机器学习/深度学习 存储 Linux
linux中强大且常用命令:find、xargs、grep
linux中强大且常用命令:find、xargs、grep
239 9