我有兩個檔案,我想將它們合并為一個檔案,但要逐行合并
file1 :
1
2
3
file 2:
4
5
6
expected:
1
4
2
5
3
6
有一個想法只使用內置函式,head,cat,tail 和 wc 來做到這一點?
太感謝了
uj5u.com熱心網友回復:
如果你可以使用粘貼命令試試這個。
paste -d "\n" file1.txt file2.txt >> file3.txt
uj5u.com熱心網友回復:
我認為您可以使用以下腳本。這是一個簡單的邏輯,但得到你的結果。
line_no=`cat file1 |wc -l`
for i in $(seq 1 $line_no)
do
awk "NR==$i" file1 >> file3
awk "NR==$i" file2 >> file3
done
此腳本假定您的兩個檔案具有相同的長度。您可以更改邏輯以獲得更高行的檔案的更高 wc,并將其用于 line_no。
結果:
1
4
2
5
3
6
uj5u.com熱心網友回復:
這是一種方法。不是那么優雅,但應該可以解決問題。
#!/bin/sh
countA=0
while IFS= read -r lineA; do
countA=$((countA 1)); countB=1
while [ $countB -le $countA ] && read -r lineB; do
countB=$((countB 1))
done < file2
echo "$lineA"
echo "$lineB"
done < file1
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/362584.html
標籤:贝壳
