朋友们,不知道你们有没有同感。

自从有了ChatGPT、Copilot这些“赛博外挂”,我的编码效率那是坐着火箭往上蹿。以前要翻半天手册的sed命令,现在只要对AI说一句:“诶,帮我把文件里所有的foo换成bar,要原地替换。” 它秒回,还附赠三种不同写法,贴心程度堪比老母亲。

我曾经也以为,把一切重复性劳动外包给AI,是程序员进化的终极形态。直到那天,我被一个路径问题干趴下了整整一个小时。

事情是这样的:我写个脚本,里面有个路径变量。我,以及我连续问的三个AI(从claude-4.5到gpt5,甚至换了不同的Agent),都理所当然地以为那是个相对路径。结果它喵的是个绝对路径!

我像个傻子一样,对着相同的需求,在新的聊天窗口里,对着新的AI模型,一遍又一遍地复读:“帮我看下为啥没编译成功?”新AI们礼貌而又自信地,用各种姿势把同样的错误又推理了一遍。那一刻,我感觉自己不是在debug,而是在参加一场“AI回声室”里的无效会议。(最后,还是最原始的echo大法拯救了我。)

by the way,我当时的需求是:如何取出一个绝对路径的第二段?(without ai你能回答出来么,亲爱的~)

我对着终端,手指悬空,脑子里闪过cut, sed, xargs……它们像熟悉的陌生人,名字都叫得出,但就是组不成一句完整的咒语。于是,我痛定思痛,决定发起这个极度“无聊”且“自虐”的活动——《指令听写》。

这玩意儿,就跟“早读八股”(对着镜子背诵HashMap原理)和“手抄代码”(在纸上默写快排)一样,是我们这一代“AI喂养”出来的程序员,对抗技能退化的行为艺术。没啥大用,纯粹是为了在AI集体抽风或者你想在人前秀一下“老手艺”时,不至于太过狼狈。

下面,就是我们的听写本。请合上你的AI聊天窗口,试试看,这些“肌肉记忆”你还剩下多少?


第一单元:Linux 生存指令听写

需求1: 找出当前目录下(包括子目录)所有包含“TODO”的文本文件,并显示匹配的行。

需求2: 优雅地让一个后台运行的程序滚去前台。

需求3: 统计一个日志文件app.log中,错误ERROR出现的次数。

需求4: 打包压缩/path/to/folder成folder.tar.gz,就现在。

需求5: 给我看看8888端口被哪个“小可爱”占用了。

第二单元:文本处理三剑客(grep, sed, awk)听写

需求1: 快速删除一个文件config.txt的第10行。

需求2: 把docker ps的输出结果整理一下,只显示容器ID和镜像名。

需求3: 把所有.txt文件里的“macOS”批量替换成“MacOS”。

需求4: 一个绝对路径 /home/user/project/src,我如何在bash里快速取出第二段(即user)?

答案

答案1

# 答案1
grep -r "TODO" .

# 答案2
# 先用 jobs 查看后台任务列表,然后用 fg %n (n是任务号)
jobs
fg %1

# 答案3
grep -c "ERROR" app.log

# 答案4
tar -czf folder.tar.gz /path/to/folder

# 答案5
# 方法一(netstat版)
netstat -tulpn | grep :8888
# 方法二(lsof版,更优雅)
lsof -i :8888

答案2

# 答案1
sed -i '10d' config.txt

# 答案2
docker ps | awk '{print $1, $2}'
# 或者更精确一点,从第二行开始
docker ps | awk 'NR>1 {print $1, $2}'

# 答案3
# 方法一:sed 原地替换
find . -name "*.txt" -exec sed -i 's/macOS/MacOS/g' {} \;
# 方法二:搭配 xargs (Bonus!)
find . -name "*.txt" | xargs sed -i 's/macOS/MacOS/g'

# 答案4 (就是这个坑了我!)
# 方法一:用 cut
echo "/home/user/project/src" | cut -d'/' -f3
# 方法二:用 awk
echo "/home/user/project/src" | awk -F'/' '{print $3}'
# 方法三:用纯bash数组操作
path="/home/user/project/src"
arr=(${path//\// })
echo ${arr[1]}

结束语

好了,今天的“听写”就到这里。AI是强大的坐骑,但我们自己,也得记得怎么走路,对吧?

下次当你又想为一行命令去“麻烦”AI时,不妨先自己挣扎30秒。这30秒的挣扎,就是我们对抗“赛博痴呆”的倔强。

欢迎在评论区留下你最近“提笔就忘”的那行命令,让我们互相伤害,共同进步!😉

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐