MST

星途 面试题库

面试题:Bash中vim与nano结合处理复杂文本编辑场景

有一个包含大量数据的文本文件bigdata.txt,数据以特定格式每行存储,格式为'ID:Name:Value'。现在要求先用vim在文件开头添加表头'序号,姓名,数值',然后使用nano批量将每行数据中的': '替换为',',并且删除所有Value值小于10的数据行,用Bash命令及vim、nano的操作详细说明如何实现。
20.5万 热度难度
编程语言Bash

知识考点

AI 面试

面试题答案

一键面试
  1. 使用vim添加表头
    • 打开文件:在终端中输入 vim bigdata.txt
    • 进入插入模式:按下 i 键。
    • 在文件开头输入表头 序号,姓名,数值
    • 退出插入模式:按下 Esc 键。
    • 保存并退出:输入 :wq 并回车。
  2. 使用nano批量替换字符
    • 打开文件:在终端中输入 nano bigdata.txt
    • 按下 Ctrl + W 搜索文件开头,确保从表头后开始操作。
    • 按下 Ctrl + R 再按下 Ctrl + W,输入 : 查找 :
    • 找到后,按下 Ctrl + K 删除 : ,然后输入 ,
    • 按下 Ctrl + X 保存修改(输入 Y 确认保存,回车确认文件名)。
  3. 使用Bash命令删除Value值小于10的数据行
    • 可以使用 awk 命令,在终端中输入:
    awk -F ',' '$3 >= 10' bigdata.txt > new_bigdata.txt
    mv new_bigdata.txt bigdata.txt
    
    上述 awk 命令以 , 为分隔符,筛选出第三列(Value值)大于等于10的行,并输出到 new_bigdata.txt,然后将新文件重命名为原文件名 bigdata.txt