bash - 对于 `cat file` 类型中的 i,有 2 个变量和 2 个文件

标签 bash for-loop

我有这个脚本

for i in `cat file`
do
echo $i
done

我如何在同一个循环中拥有来自 2 个不同文件的 2 个变量

得到

echo $i + $f

最佳答案

使用经典 shell 而非 Bash 特定结构的简单解决方案使用:

paste file1 file2 |
while read i j
do echo $i and $j
done

这里假设 file1 的数据中没有空格(无论如何都会处理 file2 中的空格,因为 j 获取每行输入的第二个和后续单词)。如果您需要担心这一点,那么您可以修改 IFS 等:

paste -d'|' file1 file2 |
while IFS='|' read i j
do echo $i and $j
done

关于bash - 对于 `cat file` 类型中的 i,有 2 个变量和 2 个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4634751/

相关文章:

xml - 如何从 shell 脚本中递归读取 xml 数据

linux - bash 脚本中的“错误替换”错误

linux - bash Linux 中的编号字符串

r - 如何重写这些 for 循环以在 R 中应用

php - 在我的 php 脚本中为 loop() 消除这一层

javascript - 如何从父数组中过滤出子数组?

ios - Xcodebuild Shell 错误的 OCLint

arrays - 如何确定 $var 是否作为完整单词存在于数组中

Java For循环使用单个变量迭代100 64 36 16 4 0 4 16 36 64 100

python - 在for循环中获取下一个变量