CentOS 7文件编辑技巧大揭秘!
创作时间:
作者:
@小白创作中心
CentOS 7文件编辑技巧大揭秘!
引用
5
来源
1.
https://phoenixnap.com/kb/how-to-install-vim-centos-7
2.
https://www.cnblogs.com/lei0213/p/8719529.html
3.
https://www.geeksforgeeks.org/how-to-edit-text-files-in-linux/
4.
https://goldenhost.com/secure/knowledgebase/74/How-to-install-Vim-editor-on-CentOS-7.html
5.
https://www.unix.com/unix-for-advanced-and-expert-users/283448-why-editing-file-renaming-new-one-safer.html
在Linux系统中,尤其是使用CentOS 7时,掌握文件编辑的命令行技巧对于提高工作效率至关重要。本文将详细介绍如何利用vi/vim编辑器、sed和awk等工具,在CentOS 7下高效地完成文件修改任务。通过学习这些实用的技巧,你将能够更加轻松地应对日常运维和开发工作中的各种挑战。
01
常用的文件编辑工具
在CentOS 7中,有多种工具可用于文件编辑。其中最常用的包括:
- vi/vim:功能强大的文本编辑器,适合进行复杂的文本编辑操作。
- sed:流编辑器,适用于自动化文本处理和转换。
- awk:强大的文本处理语言,特别适合处理结构化数据。
02
vi/vim编辑器的使用
vi/vim是Linux系统中最常用的文本编辑器之一。它具有多种模式,包括命令模式、插入模式和可视模式等。下面是一些基本操作:
基本操作模式
- 命令模式:启动vim后默认进入的模式,可以输入各种命令。
- 插入模式:按
i键进入,可以输入文本。按Esc键退出插入模式。 - 底行模式:输入命令行命令,如保存文件等。
常用命令
移动光标:
h:左移j:下移k:上移l:右移0:移动到行首$:移动到行尾gg:移动到文件开头G:移动到文件结尾
搜索与替换:
/pattern:向下搜索pattern?pattern:向上搜索pattern:s/old/new/:替换当前行的第一个old为new:s/old/new/g:替换当前行所有old为new:%s/old/new/g:替换整个文件所有old为new
保存与退出:
:w:保存:q:退出:wq或:x:保存并退出:q!:强制退出不保存
安装最新版本的Vim
CentOS 7默认可能没有安装最新版本的Vim。你可以按照以下步骤安装Vim 8.2:
sudo yum install gcc make ncurses ncurses-devel
sudo yum install ctags git tcl-devel ruby ruby-devel lua lua-devel luajit luajit-devel python python-devel perl perl-devel perl-ExtUtils-ParseXS perl-ExtUtils-XSpp perl-ExtUtils-CBuilder perl-ExtUtils-Embed
sudo git clone https://github.com/vim/vim.git
cd vim
./configure --with-features=huge --enable-multibyte --enable-rubyinterp
make
sudo make install
03
sed命令行工具
sed(stream editor)是一种流编辑器,能够高效地处理文本流。它将当前处理的行存储在临时缓冲区中,称为“模式空间”,然后用sed命令处理缓冲区中的内容。
基本用法
删除行:
sed '1d' filename # 删除第一行 sed '$d' filename # 删除最后一行 sed '1,2d' filename # 删除第一行到第二行打印行:
sed -n '1p' filename # 显示第一行 sed -n '$p' filename # 显示最后一行 sed -n '/pattern/p' filename # 显示包含pattern的所有行添加和插入行:
sed '1a new_line' filename # 在第一行后添加new_line sed '1i new_line' filename # 在第一行前插入new_line替换内容:
sed 's/old/new/' filename # 替换每一行的第一个old为new sed 's/old/new/g' filename # 替换每一行所有old为new
04
awk文本处理语言
awk是一种强大的文本处理语言,特别适合处理结构化数据。它可以从输入流中读取数据、排序、计算以及生成报告。
基本用法
切割字段:
awk -F ':' '{print $1}' /etc/passwd # 以冒号为分隔符,打印第一列条件选择:
awk '$1 == "root"' /etc/passwd # 打印第一列等于root的行计算和格式化输出:
awk '{sum+=$1} END {print sum}' numbers.txt # 计算第一列的总和
05
实战案例:修改文件的最后一个字节
假设我们需要将一个文件的最后一个字节修改为0,同时保持文件的修改时间(mtime)不变。这个需求可以通过结合使用dd命令和touch命令来实现。
- 使用dd命令修改最后一个字节:
dd if=/dev/zero of=yourfile bs=1 count=1 seek=$(( $(stat -c %s yourfile) - 1 )) conv=notrunc
这里的关键是conv=notrunc选项,它确保文件的其余部分不被截断。
- 使用touch命令恢复原始的时间戳:
original_mtime=$(stat -c %y yourfile)
touch -d "$original_mtime" yourfile
这个案例展示了如何综合运用多个命令行工具来完成复杂的文件编辑任务。
06
总结
在CentOS 7中,vi/vim、sed和awk等工具各有优势:
- vi/vim适合进行复杂的文本编辑操作,尤其是需要交互式编辑的场景。
- sed适用于自动化文本处理和转换,特别适合批量处理。
- awk在处理结构化数据和生成报表方面表现出色。
在实际工作中,根据具体需求选择合适的工具,可以显著提高工作效率。
热门推荐
太原市概况:自然资源与地理环境
古代文臣与武将:忠诚与权力的博弈
2024年世界四大大学排行榜揭晓:美英高校垄断前十,中国高校表现亮眼
项目部门油费管理:从预算到监督的全方位指南
手机号码真的能影响人的命运吗——从周易八字命理角度解析
地沟油“飞天”记 看宁波如何让废品成为生物航煤
20年100亿,“轨道上的美好生活”飞驰而来
外国人眼中这9种中国人的日常,你绝对猜不到!
疖:定义、症状、病因与治疗方法全解析
Excel全面指南:从基础设置到高级功能详解
C#一分钟浅谈:静态成员与静态类介绍
金庸剧集授权变革如何影响经典武侠IP影视质量?
吃米饭即可保护心脏健康?中国团队成功创制辅酶Q10水稻
二战日本最后的疯狂:神风特攻队的诞生与终结
天津大学建筑专业,历史底蕴与现代创新的完美融合
颈椎管狭窄症:症状、诊断与治疗全解析
CS秘籍大揭秘:从入门到精通的全方位指南
户外唱歌音响蓝牙适配器选购指南与使用技巧
中国电影市场观众结构变化 “档期依赖症”致畸产业链
3DMax效果图设计行业现状与未来发展趋势
烟酰胺全解析:从美白到全面护肤,功效卓越的护肤明星成分
理解32位与64位程序:兼容性、性能和未来趋势
智能辅助驾驶系统解析:让驾驶更轻松安全
夜跑带来6大益处 但也存在3个风险
长痘痘原来和这些有关?5个从中医角度详细分析告诉你
怪物猎人:荒野如何备份存档数据?轻松几步备份你的狩猎记忆。
星露谷物语复活节彩蛋有什么路线
如何计算商铺投资回报率?怎样评估商铺投资回报率的合理性?
如何设计才能打造舒适高效的门诊空间?
健身後吃什麼有效補充蛋白質的5個秘密,讓你輕鬆達到完美體態