Mam plik zawierający:
1 2 3 4
1 3 5 4 8
3 2 1
Każda linia ma inną liczbę cyfr. I jest jeszcze 1000 takich.
Chcę, aby wyjście było takie:
1 2
2 3
3 4
4 0
1 3
3 5
5 4
4 8
8 0
3 2
2 1
1 0
edytuj ten post !!
mam na myśli, że jeśli jest to ostatnia cyfra w wierszu, umieść tę cyfrę, a następnie zero poza nią.
na przykład, jeśli cyfra jest ostatnia w tym wierszu, umieszczamy na wyjściu nową linię tę cyfrę i zero
4 0 and others:see output sample tnx
w powyższym przykładzie i
Jak mogę to zrobić, w perl
awk
lub bash
używam tego, ale nie działa: ((
awk '{
for (i=1; i<NF; i++)
{
if ( $(i+1) == "")
print $i, "0"
else
print $i, $(i+1)
}
}' UniqASinline> inTestAst
plik wyjściowy z metody Mr.glenn jackman:
dla tego wejścia:
3549
3549 10026
3549 10026 10010
3549 10026
awk '{for (i=1; i<=NF; i++) printf("%d %d\n", $i, $(i+1))}' filename
3549
3549 10026
10026
3549 10026
10026 10010
10010
3549 10026
10026
ale oczekujemy:
3549 0
3549 10026
10026 0
3549 10026
10026 10010
10010 0
3549 10026
10026 0
tnx