私はこれを持っています
-77.199997 23.6343749630 39.9989584580
-80.000000 23.6364583430 39.9989584580
-81.599998 23.6385417220 39.9989584580
列2、列3、列1(緯度、経度、高度)を読み取るように列の順序を変更したいと思います。
私は以前にawkを何度も使用しましたが、何らかの理由で列を並べ替えると、結果に余分なスペースがある次のようになります。
32.1614584410 43.3385414490
-2019.400024
32.1635418210 43.3385414490
-2016.800049
32.1656252000 43.3385414490
-2018.500000
何かがありますが、なぜこれが行われたのか誰かが教えてもらえますか?それとも私が何かを見逃していますか?
awk -F" " '{print " "$2" "$3" "$1" "}' infile.xyz > outfile.xyz
awk '{print $2 $3 $1}' infile.xyz > outfile.xyz
awk -F" " '{print ""$2" "$3" "$1""}' infile.xyz > outfile.xyz
答え1
すべてのinfilesに対してdos2unixを実行する必要があり、それ以降はすべてうまくいきました。
答え2
まず、使用していることを確認してください。スペースまさかタブ入力ファイルに。
次に、次のように変数をカンマで区切ります。
awk '{print $2,$3,$1}' infile.xyz > output.xyz
のように変数を並べて配置すると$2 $3 $1
連結されawk
ます。
printf
また、この機能はより良い書式設定機能を提供するため、試してみることもできます。