MST

星途 面试题库

面试题:Bash中awk与sed处理文本行首行尾添加字符

假设有一个文本文件`data.txt`,每行包含一个单词。请编写Bash脚本,使用awk或sed在每行的开头添加字符'#',在每行的结尾添加字符'!'。
39.0万 热度难度
编程语言Bash

知识考点

AI 面试

面试题答案

一键面试
awk '{print "#"$0"!"}' data.txt > new_data.txt

sed 's/^/#/;s/$/!/' data.txt > new_data.txt

解释:

  • awk '{print "#"$0"!"}' data.txtawk 逐行读取 data.txt 文件内容,$0 代表整行内容,通过在其前后分别添加 #! 并输出。> new_data.txt 将结果输出到 new_data.txt 文件,如果不需要输出到新文件,直接在终端显示,可省略这部分。
  • sed 's/^/#/;s/$/!/' data.txtsed 使用替换命令,s/^/#/ 表示将每行开头(^)替换为 #s/$/!/ 表示将每行结尾($)替换为 !,同样 > new_data.txt 是将结果输出到新文件。