나는 이것을 가지고있다
-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
또한 이 기능은 더 나은 형식 지정 기능을 제공하므로 시도해 볼 수도 있습니다 .