linux - 标准 linux 实用程序,无需 shell 即可组合文件
问题描述
我正在尝试将一个文件的内容附加到另一个现有文件中。这对于外壳来说是微不足道的。我试图在没有外壳的单个命令中完成它。这可能吗?
我基本上想跑:
cat file2 >> file1
不幸的是,我正在执行的环境不是 shell,因此不支持>>
操作员。
是否有一些相对标准的 linux 工具可以做到这一点,除了使用 shell 像:
sh -c "cat file2 >> file1"
编辑:我正在寻找一个可以放入 systemd 服务ExecStart=
指令的班轮。是的,我在上面发布的变体有效,我只是觉得它很hacky。
我很惊讶没有工具可以准确地做到这一点。
我还可以制作一个我从 systemd 调用的文件my-script.sh
,它可以满足我的需求。但这是一个额外的文件,感觉比第一个可能的解决方案更“hacky”。
如果没有标准工具可以做到这一点,那么我猜我的问题的“答案”将是“否”。
解决方案
这听起来像一个XYProblem,但你可以使用dd
:
dd if=file2 of=file1 conv=notrunc oflag=append
如果您不使用支持 的 GNU dd,oflag=append
则可以手动指定字节偏移量:
dd if=file2 of=file1 bs=1 seek=insert_size_of_file1_in_bytes_here
推荐阅读
- php - 我如何使用 TinyMCE 编辑器通过 Ajax 加载/填充文本区域内容
- python-3.x - 原始 PCM 的 FFT 图因 python 中的更高频率而出错
- c - 关于hackerrank的数组操作问题
- java - 嵌套对象结构内字段的 HibernateValidator 约束映射
- php - 如何根据文件名前面的字母显示按钮?
- javascript - React Hooks Modal 传递状态?
- github - 如何在 GitHub 中配置主分支以仅接受来自特定分支的拉取请求
- javascript - 在表格中加载另一个组件会在 Angular 中意外扩展我的表格宽度
- python - 如果 Python Pandas 中的第一列为空,则返回列的第二个值
- matlab - 创建螺旋矩阵 Matlab