bash-array

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

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

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

Admin

bc를 사용한 bash 배열 곱셈
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

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

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

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

Admin

큰 인덱스가 있는 bash 배열을 시작하면 어떻게 되나요?
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

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

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)과 동일합니까, 아니면 뭔가 빠졌습니까?
bash-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: 공백과 따옴표가 있는 문자열을 배열로 변환
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

Gnu 병렬을 사용하여 배열 요소 반복
bash-array

Gnu 병렬을 사용하여 배열 요소 반복

입력 파일이 있는데,이름.txt, 한 줄에 1단어: apple abble aplle 내 bash 스크립트를 통해 다음과 같은 출력을 얻으려고 합니다. apple and apple apple and abble apple and aplle abble and apple abble and abble abble and aplle aplle and apple aplle and abble aplle and aplle 이것은 내 bash 스크립트입니다. #!/usr/bin ...

Admin

Bash 4.4 로컬 읽기 전용 배열 변수 범위: 버그?
bash-array

Bash 4.4 로컬 읽기 전용 배열 변수 범위: 버그?

bash 4.4.20(1)을 사용하여 실행할 때 다음 스크립트가 실패합니다. #!/bin/bash bar() { local args=("y") } foo() { local -r args=("x") bar } foo 오류가 있지만 line 3: args: readonly variable읽은 후에 bash 4.2.46(2)를 사용하여 성공적으로 실행하는 것이 의미가 있습니다.24.2. 지역변수. 배열이 아닌 변수를 사용하는 다음 스크립트는 문제 없이 실행됩니다. #!/bin/bash ba...

Admin

bash의 파일 배열 목록을 날짜별로 정렬하고 매개변수 제한을 우회합니다.
bash-array

bash의 파일 배열 목록을 날짜별로 정렬하고 매개변수 제한을 우회합니다.

그래서 bash 쉘에 파일 배열 목록이 있고 배열의 첫 번째 파일인 가장 오래된 파일부터 시작하여 수정 날짜별로 배열의 모든 파일을 정렬하고 싶습니다. 그러나 원래 배열을 정렬하고 수정하는 대신 정렬된 결과가 다른 배열에 있기를 원합니다. 나는 보았다이 스레드배열이 파일이 아니라 변수이기 때문에 수정했지만 다음 명령을 시도했습니다. new_array=( $(ls -t $(printf '%s\n' "${array_list[@]}")) ) 그러나 배열이 너무 커서 ls가 인수 목록을 "너무 길다"고 보...

Admin

Bash 배열에서 소수 값을 사용하려고 할 때 멈춤
bash-array

Bash 배열에서 소수 값을 사용하려고 할 때 멈춤

다음은 간단한 테스트 코드입니다. #!bin/bash cpm=(0 1 0.094) lv=1 attack=5 defense=9 stamina=16 echo $((cpm[lv])) mycpm=$((cpm[lv])) #mycpm=`echo "0.094" | bc -l` cq=`echo "$attack*$defense*1/10*sqrt($stamina)*2^2*$mycpm" | bc -l` echo $cq 터미널 출력: bash testing.sh 1 72.00000000000000000000 알았어,...

Admin

첫 번째 인덱스와 마지막 인덱스 사이의 모든 요소를 ​​가져오기 위해 인덱스 배열을 분할하는 방법은 무엇입니까?
bash-array

첫 번째 인덱스와 마지막 인덱스 사이의 모든 요소를 ​​가져오기 위해 인덱스 배열을 분할하는 방법은 무엇입니까?

tokens포함된 값이 있습니다 tokens=( first one two three last ). ( one two three )배열에 몇 개의 숫자가 있는지 모르는 경우 어떻게 값을 얻을 수 있나요? first와 last(독점) 사이의 모든 항목 에 액세스하고 싶습니다 . echo ${tokens[*]:1:3} 줄 것입니다 one two three. 그러나 배열의 길이를 모르는 경우 first전후의 모든 요소를 ​​어떻게 얻을 수 있습니까 last? Python에서 음수 인덱스를 사용하는 것과 비슷...

Admin

IFS 및 읽기 또는 기타 방법을 사용하여 긴 문자열을 문자열 배열로 분할하는 방법
bash-array

IFS 및 읽기 또는 기타 방법을 사용하여 긴 문자열을 문자열 배열로 분할하는 방법

git 명령의 출력인 긴 줄이 있습니다 a=$(git submodule foreach git status). 다음과 같습니다: a="enter'디렉토리1/하위 디렉토리' 귀하의 브랜치가 브랜치 마스터에서 "원본/마스터"로 업데이트되었습니다. 커밋할 내용이 없으며 작업 트리 정리 입력'디렉토리 2'HEAD는 xxxxxx에서 분리되어 있어 아무것도 커밋할 필요가 없으며 작업 트리가 깔끔하게 입력되었습니다.'목차 3' 귀하의 브랜치가 브랜치 마스터에서 "원본/마스터"로 업데이트되었습니다. 커밋할 내용이 없...

Admin