linux shell 按行合并拼接两个文件

本文介绍了一个用于 Oracle 数据库中可插拔数据库(PDB)文件重命名的 shell 脚本。该脚本通过读取两个文件列表,生成 SQL 重命名语句,实现批量文件名更改,适用于数据库维护和迁移场景。

    export P5FileName=${T_LOG}/PDB5fileNameTarget.txt
    export CurP5FileName=${T_LOG}/PDB5fileNameTarget_T2.txt
    export renameScript=${T_LOG}/PDB5rename.sql


generateSQLscript()
{
File1=$1
File2=$2

while
    IFS=" " read -r x rest <&3
    IFS=" " read -r y  rest <&4
do
    echo "alter database rename file '$x' to '$y'; "
done 3<${File1} 4< ${File2}
}

generateSQLscript ${CurP5FileName} ${P5FileName}  > ${renameScript}

echo "The rename script for PDB5 is :"
cat ${renameScript}

 

eg.

echo "1 1 1" > tmp1
echo "2 2 2" >> tmp1
echo "3 3 3" >> tmp1

echo "a,b,c" > tmp2
echo "a,b,c" >> tmp2
echo "a,b,c" >> tmp2
while
    IFS=" " read -r x rest <&3
    IFS="," read -r y z rest <&4
do
    echo "$x:$y:$z"
done 3<tmp1 4<tmp2
1:a:b
2:a:b
3:a:b

 

 

### 如何在 Linux拼接两个 BIN 文件Linux 系统中,`cat` 是一种非常强大的命令工具,可以用来连接多个文件的内容并将它们写入标准输出或指定的目标文件。对于二进制文件(如 `.bin`),同样可以通过 `cat` 来实现文件拼接操作。 #### 使用 `cat` 命令拼接两个 BIN 文件的方法 以下是具体的命令示例: ```bash cat file1.bin file2.bin > result.bin ``` 上述命令的作用是将 `file1.bin` 和 `file2.bin` 的内容按顺序拼接到一起,并将最终的结果保存到新的文件 `result.bin` 中[^1]。需要注意的是,在执命令前,目标文件 `result.bin` 如果已经存在,则会被覆盖;如果不存在,则会自动创建该文件。 #### 关于重定向符的为注意事项 当使用重定向符号 (`>`) 将数据写入某个文件时,需注意其为特点。例如,下面这个例子可能会导致意外结果: ```bash cat file1.bin file2.bin > file1.bin ``` 在这种情况下,由于 shell 在运左侧命令之前就已经打开了用于写入的文件 `file1.bin` 并将其截断为零长度,因此原文件中的内容将会被清空,最后得到的新文件仅包含来自 `file2.bin` 的内容[^3]。为了避免这种情况发生,请始终确保源文件和目标文件不同名。 #### 完整代码实例展示 假设当前目录下有如下两个拼接的BIN文件: - `part1.bin`: 包含部分固件镜像; - `part2.bin`: 继续补充剩余的部分固件镜像。 通过以下方式完成这两个文件合并过程: ```bash # 创建测试用的二进制文件 (实际应用无需这些步骤) echo -n "ABCDEF" > part1.bin echo -n "GHIJKL" > part2.bin # 执真正的文件拼接动作 cat part1.bin part2.bin > full_image.bin # 查看生成后的完整图像文件内容验证效果 xxd full_image.bin ``` 以上脚本片段展示了如何利用 `cat` 实现简单有效的二进制文件组合功能。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值