请参阅示例: 让我们说我有File1.txt有三行(a,b,c);文件2也有3行(1,2,3)。
File1中
a
b
c
文件2
1
2
3
...
我想得到如下的A File3:
档案3
a1
a2
a3
b1
b2
b3
c1
c2
c3
...
非常感谢!
答案 0 :(得分:1)
假设bash 4.x:
#!/usr/bin/env bash
# ^^^^-- NOT /bin/sh
readarray -t a <file1 # read each line of file1 into an element of the array "a"
readarray -t b <file2 # read each line of file2 into an element of the array "b"
for itemA in "${a[@]}"; do
for itemB in "${b[@]}"; do
printf '%s%s\n' "$itemA" "$itemB"
done
done
在旧版(4.0之前版本)的bash版本中,您可以将readarray -t a <file1
和readarray -t b <file2
替换为:
IFS=$'\n' read -r -d '' -a a < <(cat -- file1 && printf '\0')
IFS=$'\n' read -r -d '' -a b < <(cat -- file2 && printf '\0')