Dᴀʀ*_*ᴅᴇʀ 19 directory replace batch-file
我已经学会了如何使用bash脚本替换一行,但我想学习如何用同名的另一个文件夹中的另一个文件替换整个文件.这可能吗??
Nic*_*unt 34
cp -f [oringinal file] [new file]
Run Code Online (Sandbox Code Playgroud)
复制原始文件并覆盖目标文件(因此-f代表"强制").
Jos*_*eph 22
如果您尝试仅复制文件的内容,请尝试
cat /first/file/same_name > /second/file/same_name
Run Code Online (Sandbox Code Playgroud)
这将使用第一个文件中的内容覆盖第二个文件的所有内容.但是,第二个文件的所有者,组和权限将保持不变.
小智 6
使用这些命令:
mv file1 file2
Run Code Online (Sandbox Code Playgroud)
如果 file2 不存在,则将 file1 重命名为 file2。如果 file2 存在,则其内容将替换为 file1 的内容。
mv -i file1 file2
Run Code Online (Sandbox Code Playgroud)
然而,与上面一样,由于"-i"指定了(interactive) 选项,如果 file2 存在,则会在用 file1 的内容覆盖之前提示用户。
mv file1 file2 file3 dir1
Run Code Online (Sandbox Code Playgroud)
文件file1、file2、file3 被移动到目录dir1。dir1 必须存在,否则mv会出现错误退出。
mv dir1 dir2
Run Code Online (Sandbox Code Playgroud)
如果 dir2 不存在,则将 dir1 重命名为 dir2。如果 dir2 存在,则在目录 dir2 中创建目录 dir1。
今天我需要一些相同的解决方案,唯一的变化是我需要用新版本替换许多用户目录中的旧版本 php 文件。我正在前往这里,只是将匹配与其他堆栈的答案混合并解决我的问题。我在 find 命令中使用了 @joseph 代码。
我在这里分享我的小代码,希望它会帮助别人。
for file in $(find /home/*/ -type f -name 'timthumb.php');
do
cat /home/timthumb.php > $file;
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42732 次 |
| 最近记录: |