我需要一个 bash 或 python 脚本来从文本中读取以下示例行:
1:2:3:4
4:3:2:1
并将它们写入新的文本文件,输出如下:
A=1
B=2
C=3
D=4
A=4
B=3
C=2
D=1
答案1
Awk
解决方案:
awk 'BEGIN{
abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
split(abc, letters, "")
}
{
for (i = 1; i <= NF; i++) print letters[i] "=" $i;
print ""
}' FS=':' input.txt > newfile
newfile
内容:
A=1
B=2
C=3
D=4
A=4
B=3
C=2
D=1
答案2
awk -F: '{ print "A=" $1 "\nB=" $2 "\nC=" $3 "\nD=" $4 "\n"; }' inputfile
或者在bash中
while IFS=: read -r a b c d rest; do
printf 'A=%d\nB=%d\nC=%d\nD=%d\n\n' $a $b $c $d
done <inputfile