나는 이 명령을 사용하고 있습니다 :
awk 'NR>1 {print $1" "$2}' fort.75 > newfort.75
출력을 다음과 같이 얻습니다.
7 -2.2964292555E+000
8 -2.3013363831E+000
9 -2.3071951989E+000
10 -2.3136811351E+000
11 -2.3207311925E+000
하지만 원하는 o/p는 다음과 같습니다.
7 -2.2964292555E+000
8 -2.3013363831E+000
9 -2.3071951989E+000
10 -2.3136811351E+000
11 -2.3207311925E+000
첫 번째 필드의 값은 모두 동일한 너비를 갖도록 형식을 지정해야 합니다. 또한 두 번째 필드는 각 줄의 동일한 열에서 시작해야 합니다.
답변1
아마도 열로 출력하고 싶다는 뜻일 것입니다(귀하의 예에서는 데이터도 다르지만). 그렇다면 다음을 시도해 보십시오.
awk 'NR>1 {print $1 "\t" $2}' fort.75 > newfort.75
그러면 출력이 TAB 문자로 구분됩니다 \t
.
printf
또 다른 가능성은 Archemar가 제안한 대로 사용하는 것입니다 .
awk 'NR>1 {printf("%4i %f\n",$1,$2);}' fort.75 > newfort.75
첫 번째 열의 형식은 (이 경우) 4자 너비로 지정됩니다. 원하는 대로 조정하세요. 공간은 공백 " "(말장난 의도 없음)으로 채워지며 TAB은 사용되지 않습니다. 그러나 부동 소수점 숫자도 다시 형식화되므로 이것이 괜찮은지 확인하십시오. 그렇지 않은 경우 두 번째 열을 문자열로 처리합니다.
awk 'NR>1 {printf("%4i %s\n",$1,$2);}' fort.75 > newfort.75