
그래서 정렬된 소수와 정수가 한 줄씩 나열되어 있는 sortedtime.txt라는 텍스트 파일이 있습니다.
12.6
13.7
...
154
1864
이 숫자를 읽고 이를 1D 배열에 한 줄씩 추가하는 쉘 스크립트가 필요합니다. 이에 대한 코드는 다음과 같습니다.
with open('sortedtime.txt') as data:
timearray = data.readlines()
불행히도 코드를 실행하려고 할 때 계속 오류가 발생합니다. 나중에 데이터의 CDF를 플롯하려면 이 숫자를 배열의 요소로 가질 수 있어야 합니다.
답변1
당신이 의미한다고 가정쉘 배열, 모든 쉘이 배열을 지원하는 것은 아닙니다. Bourne like Shell로 제한하면 배열을 지원하는 것(시간순)은 ksh
, bash
및 zsh
입니다 yash
. python
(당신이 제공한 코드는 python
코드처럼 보입니다.) 우리가 일반적으로 쉘이라고 부르는 것이 아닙니다.
그 중에서 부동 소수점 연산을 지원하는 유일한 쉘은 ksh93
, zsh
및 입니다 yash
.
세 가지 모두에서 입력에 개행, 공백 또는 탭으로 구분된 부동 소수점 숫자만 포함되어 있다고 가정하면 다음을 수행할 수 있습니다.
array=($(cat file))
그러나 배열 요소에 액세스하는 구문은 3개 모두 다릅니다. 보다 "셸에 의한 배열 지원 테스트" 다양한 셸에서 배열 지원의 차이점을 확인하세요.