Générons un second fichier de données pour test :
% cat <<EOF > /TMP/src
12.34 13.56 19.27 28.47
-36.78 -24.16 -0.45 13.01
-100.45 -56.65 -3.21 12.78
EOF
Appliquons-lui ensuite un nouveau filtre adapté :
% sed -e 's/\([^[:space:]]*\)[[:space:]]\+\([^[:space:]]*\)[[:space:]]\+\([^[:space:]]*\)[[:space:]]\+\([^[:space:]]*\)/\1 \3 \2 \4/' /TMP/src
12.34 19.27 13.56 28.47
-36.78 -0.45 -24.16 13.01
-100.45 -3.21 -56.65 12.78
Remarques importantes :
- ce filtre fonctionne pour tout type de tableau à condition que le
séparateur de champs soit constitué d'un ou plusieurs espace ou
tabulation,
- ce filtre s'écrit plus facilement en awk.