array

bash에서 printf를 사용하여 @로 배열을 인쇄하면 첫 번째 요소만 인쇄되는 이유는 무엇입니까?
array

bash에서 printf를 사용하여 @로 배열을 인쇄하면 첫 번째 요소만 인쇄되는 이유는 무엇입니까?

배열이 있습니다 snapshots=(1 2 3 4) 내가 달릴 때 printf "${snapshots[*]}\n" 예상대로 인쇄됩니다 1 2 3 4 하지만 내가 달릴 때 printf "${snapshots[@]}\n" 그냥 인쇄된다 1 개행 문자가 없습니다. 내 이해는 배열에 액세스하면 @배열을 확장하여 각 요소가 줄 바꿈에 있도록 해야 하지만 그렇게 하지 않는 것 printf같습니다 echo. 왜 이런거야? ...

Admin

bc를 사용한 bash 배열 곱셈
array

bc를 사용한 bash 배열 곱셈

bc 루프를 사용하여 인덱스를 곱하여 파생된 값으로 배열 값을 곱하려고 합니다. #!/bin/bash n=10.0 bw=(1e-3 2.5e-4 1.11e-4 6.25e-5 4.0e-5 2.78e-5 2.04e-5 1.56e-5 1.29e-5 1.23e-5 1.0e-5) for k in {1..11};do a=$(echo "$n * $k" | bc) echo "A is $a" arn=${bw[k-1]} echo "Arn is $arn" b=$(echo "$arn ...

Admin

네거티브 패턴 일치 및 매개변수 확장을 사용하여 bash 배열을 필터링하면 예상치 못한 결과가 나타나는 이유는 무엇입니까?
array

네거티브 패턴 일치 및 매개변수 확장을 사용하여 bash 배열을 필터링하면 예상치 못한 결과가 나타나는 이유는 무엇입니까?

나는 주사위를 굴리기 위해 작은 순수 bash 스크립트를 만들고 있으므로 배열을 조작해야 합니다. 나는 다른 언어에서 수행되는 것과 유사한 작업을 수행하고 싶습니다 filter. 즉, 배열에서 일부 내용을 추출하여 다른 배열에 넣는 것입니다. 다른 작업(예: 인덱스 간 슬라이싱)에 배열을 사용하는 것이 훨씬 쉽기 때문에 값을 bash 배열로 유지하고 싶습니다. 루프를 사용하여 이 작업을 수행 할 수 있지만 for... do... done패턴 일치가 예상대로 작동하지 않는 이유가 궁금합니다. shopt...

Admin

배열 이름에 숫자 접미사가 있는 TCL의 배열 반복
array

배열 이름에 숫자 접미사가 있는 TCL의 배열 반복

TCL에는 다음과 같이 이름에 숫자 접미사(즉, 이름이 숫자로 끝나는)가 있는 배열이 있습니다. array set ps0 [ list 0 15.885 1 55.43 1 0.254 2 0.227 3 0.177 ] array set ps1 [ list 0 6.585 1 56.43 1 0.254 2 0.227 3 0.177 ] array set ps2 [ list 0 32.485 1 43.13 1 0.254 2 0.227 3 0.177 ] TCL에서 이를 반복하고 값을 가져와야 하지만 숫자 접미사를...

Admin

POSIX sh에서 위치 인수 목록을 정렬하는 방법
array

POSIX sh에서 위치 인수 목록을 정렬하는 방법

POSIX sh에서 위치 인수 목록을 정렬하는 방법이 있습니까? 각 위치 인수에는 모든 문자(예: 공백, 줄 바꿈, 탭 등)가 포함될 수 있습니다. 정렬 알고리즘은 프로그래머가 정의한 비교를 기반으로 목록을 정렬할 수 있을 만큼 충분히 일반적이어야 합니다(예: 숫자/사전식 정렬 사용).expr비교, 각 위치 인수의 하위 문자열만 고려한 정렬 등). POSIX sh의 위치 매개변수 목록은 스택과 큐의 특성을 모두 갖고 있는 것 같습니다. push( set -- "$x" "$@"), pop( x="$1"...

Admin

zip 아카이브의 내용을 동시에 추출하고 삭제하는 방법은 무엇입니까?
array

zip 아카이브의 내용을 동시에 추출하고 삭제하는 방법은 무엇입니까?

단일 파일 형식의 여러 개의 작은 파일이 포함된 대용량 zip 아카이브(>180GB)를 SSD에 다운로드하여 추출하고 싶지만 zip 아카이브와 추출된 콘텐츠를 모두 수용할 만큼 저장 공간이 충분하지 않습니다. 답변에 언급된 zip 명령을 사용하여 아카이브에서 개별 파일을 추출하고 삭제할 수 있다는 것을 알고 있습니다.여기그리고여기. 또한 명령을 사용하여 archive에 있는 모든 파일의 이름을 가져와서 unzip -l위와 같이 결과를 배열에 저장할 수도 있습니다.여기, 주어진 방법을 사용하여 불...

Admin

큰 인덱스가 있는 bash 배열을 시작하면 어떻게 되나요?
array

큰 인덱스가 있는 bash 배열을 시작하면 어떻게 되나요?

bash "다차원" 배열을 만들려고 하는데 연관 배열을 사용하는 아이디어를 보았지만 가장 쉬운 방법은 다음과 같습니다. for i in 0 1 2 do for j in 0 1 2 do a[$i$j]="something" done done 값을 설정하고 가져오는 것은 쉽지만 bash가 인덱스 00부터 22까지 순차적으로 요소에 공간을 할당하는 경우(즉, 위치 {0,1,2,3,4,...,21,22}를 할당한다는 의미), 그렇지 않습니다. 실제 요소 집합: {00,0...

Admin

Bash는 공백으로 구분된 목록을 관리합니다.
array

Bash는 공백으로 구분된 목록을 관리합니다.

파일에서 읽은 여러 값 목록을 공백으로 구분된 값으로 처리하는 상당히 복잡한 쉘 스크립트가 있습니다. SET1="value1 value2 value3" for i in ${SET1}; do ... 이제 스크립트에 비슷한 형식의 목록을 작성하여 작성하고 싶습니다. 그러나 다음과 같이 하면(예를 들어): DISCOVERED='' DISCOVERED+=( us-east-1 ) DISCOVERED+=( us-east-2 ) DISCOVERED+=( us-west-1 ) for REGION in ${...

Admin

병렬 처리를 사용하여 배열에 추가할 수 없습니다.
array

병렬 처리를 사용하여 배열에 추가할 수 없습니다.

parallel문제 없이 for 루프를 사용할 때 배열에 추가할 수 없습니다 . 병렬 예: append() { arr+=("$1"); } export -f append parallel -j 0 append ::: {1..4} declare -p arr 산출: -bash: declare: arr: not found 루프의 경우: for i in {1..4}; do arr+=("$i"); done declare -p arr 산출: declare -a arr=([0]="1" [1]="2" [2]=...

Admin

배열을 생성하고 추가합니다. mapfile은 arr+=(input)과 동일합니까, 아니면 뭔가 빠졌습니까?
array

배열을 생성하고 추가합니다. mapfile은 arr+=(input)과 동일합니까, 아니면 뭔가 빠졌습니까?

mapfile이점이 그것보다 더 큰 상황이 있습니까 arr+=(input)? 간단한 예 매핑 파일 배열 이름, arr: mkdir {1,2,3} mapfile -t arr < <(ls) declare -p arr 산출: declare -a arr=([0])="1" [1]="2" [2]="3") 편집하다: 다음 헤더를 변경했습니다. 본문에는 y배열 이름이 있지만 헤더에는 arr이름이 있어 혼동을 일으킬 수 있습니다. y+=(입력) IFS=$'\n' y+=($(ls)) declare...

Admin

Bash: 공백과 따옴표가 있는 문자열을 배열로 변환
array

Bash: 공백과 따옴표가 있는 문자열을 배열로 변환

따옴표 안에 일련의 문자열을 출력하는 함수(내가 만든 것이 아님)가 있습니다. command <args> “Foo” “FooBar” “Foo Bar” “FooBar/Foo Bar” 배열(Bash, BSD/Mac)에 할당하려고 하면 4개가 아닌 7개의 요소가 표시됩니다. 예를 들어, ${array[2]}나 에게~해야 한다get 이지만 대신 “Foo Bar”내가 얻는 ”Foo다음 요소 는 Bar”.any 요소 입니다.아니요공백은 잘 작동합니다(예 ${array[0]}: "Foo") 요소 자...

Admin

포함하는 배열과 포함된 글로브를 제외한 배열에서 작성된 파일 배열을 가져옵니다.
array

포함하는 배열과 포함된 글로브를 제외한 배열에서 작성된 파일 배열을 가져옵니다.

나는 다음을 수행하고 싶습니다 : 프로세스에 포함할 기본 파일 컬렉션을 지정하는 전역 배열을 정의합니다. 이 프로세스에서 제외할 파일을 지정하는 전역 배열을 정의합니다. 이 glob 배열에 의해 지정된 파일이 위 세트에 없는지는 나에게 중요하지 않습니다. 배열 구축문서(glob 아님), 포함하는 glob 배열에 지정된 모든 파일을 가져오고 제외된 glob 배열에 속하는 모든 파일을 삭제합니다. 나는 이것으로 어려움을 겪고 있습니다. 진행 상황과 제가 시도한 작업에 대한 몇 가지 명확한 예를 보여주...

Admin

var로 설정된 경우 슬라이스 배열의 출력을 문자열이 아닌 별도의 항목으로 어떻게 저장할 수 있나요?
array

var로 설정된 경우 슬라이스 배열의 출력을 문자열이 아닌 별도의 항목으로 어떻게 저장할 수 있나요?

배열을 분할할 때 출력은 변수에 문자열로 캡처됩니다. 슬라이스를 직접 사용하는 경우 별도의 항목이 됩니다. 문자열로 변환하지 않고 변수에 슬라이스 배열을 저장하는 방법은 무엇입니까? 이 문제를 해결하는 다른 방법이나 방법이 있습니까? 예: # setting IFS to this, no need to quote anything IFS=$'\n' mapfile -t arr < <(for i in {1..6}; do echo $i; done) declare -p arr declare -a a...

Admin