You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Bash脚本或Python中给文件指定行末尾添加单词

在指定行末尾添加单词的正确方法

你之前的awk命令根本没处理原文件,只是把输入的内容直接覆盖写入file.txt,这肯定得不到想要的结果。下面给你两种靠谱的实现方式:

方法1:用sed直接修改

sed是处理文本行的利器,指定行号后直接在末尾追加内容就行:

read nome
sed -i "2 s/$/ $nome/" file.txt
  • -i 参数是直接修改原文件(macOS系统的sed要写成 -i '')
  • 2 代表要修改的行号(这里是第二行,按需改成你要的行号)
  • s/$/ $nome/ 是把行尾($匹配行结束位置)替换成「空格+输入的单词」,实现追加效果

方法2:用awk处理后替换原文件

awk需要先读取原文件,对指定行做修改,其他行原样输出:

read nome
awk -v add="$nome" 'NR==2 {print $0 " " add; next} {print}' file.txt > temp.txt && mv temp.txt file.txt
  • -v add="$nome" 把shell里输入的nome变量传给awk的add变量
  • NR==2 判断当前是第二行时,输出原内容加空格加要追加的单词,next跳过后续逻辑直接处理下一行
  • 其他行直接原样输出,最后把结果写到临时文件再替换原文件,避免直接覆盖出问题

验证示例

原file.txt内容:

word1 word2 word3 word4
word1 word2 word3 word4 word5

输入word6后执行命令,file.txt会变成:

word1 word2 word3 word4
word1 word2 word3 word4 word5 word6

内容的提问来源于stack exchange,提问作者Michele Cozzolino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 11:25:29