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

如何用SED或AWK实现类似cp file1 file2的整文件复制?

当然可以用 sed 或者 awk 实现类似 cp file1 file2 的整文件复制操作,不过说实话,这俩工具本来是用来做文本内容处理的,用它们来复制文件有点“杀鸡用牛刀”的意思——毕竟 cp 就是专门干这个活的,效率和功能都更适配。不过既然你好奇怎么实现,我给你具体的命令:

使用 SED 实现整文件复制

你只需要给 sed 传入一个空命令,它就会把输入文件的每一行原封不动地输出,再通过重定向写入目标文件:

sed '' file1 > file2

如果 file2 已经存在,这个命令会直接覆盖它,和 cp 的默认行为一致。要是想避免覆盖已有文件,你得结合 shell 的条件判断,但纯 sed 本身做不到这一点。

使用 AWK 实现整文件复制

awk 的写法更灵活,有两种常用方式:

  1. 显式打印每一行:
awk '{print}' file1 > file2
  1. 利用 awk 的默认行为——当条件为真时自动打印当前行,用 1 代表永真条件:
awk '1' file1 > file2

这两种写法都能把 file1 的内容完整复制到 file2,同样会覆盖已存在的目标文件。

小提醒

虽然这俩工具能完成复制任务,但实际工作中还是优先用 cp 比较好,它支持保留文件权限、递归复制目录、不覆盖已有文件等多种实用参数,比 sed/awk 适合干这个活。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:31:35