나는 사용하고있다
a=`head -1 Rt.in`
내 파일에서 첫 번째 값을 가져오고 이를 변수로 저장한 다음 동일한 변수를 사용하여 tail -$a
입력의 마지막 줄을 마무리합니다. 하지만 오류가 발생합니다.
tail: illegal option -- -53\r.
내 입력 파일에는 세 번째 행부터 4개의 열이 있습니다.
다음은 내가 사용하는 스크립트의 일부입니다.
a=`head -1 Rt.in`
echo $a
tail -$a Rt.in
내가 얻는 출력 오류는 다음과 같습니다.
tail: illegal option -- -53\r
입력 파일의 일부는 다음과 같습니다.
53
FEPXUU
H 9.155963 1.289174 11.531518
H 9.004353 2.726286 11.683448
N 11.762550 3.890769 11.785241
N 10.610393 3.635048 9.544268
N 10.745642 1.175050 9.076323
N 13.210069 2.309946 9.848128
N 12.319480 0.955257 11.800435
C 12.359945 3.942548 12.929277
C 11.267322 5.027779 11.274755
H 9.052185 4.031311 6.865735
C 10.031631 3.303244 8.416945
C 10.093512 1.894663 8.164740
C 9.546565 1.312421 7.090592
.
.
.
그러한 라인이 53개 있습니다.
왜 이 오류가 발생하는지, 그리고 어떻게 제거할 수 있는지 알려줄 수 있는 사람이 있나요?
터미널에서 직접 파이프를 사용하여 위의 스크립트를 실행하면 오류가 발생하고 tail: -: No such file or directory
몇 개의 원자 목록이 표시됩니다.
답변1
줄 수는 다음과 같은 매개변수가 되어서는 안 됩니다.
tail -n $a Rt.in
이제 파일의 첫 번째 줄에 정의된 마지막 줄 수를 얻을 수 있습니다. 이는 명령 -n
에도 사용해야 합니다 head
.