반응형

bash 31

Bash를 사용하여 파일 이름 일괄 변경

Bash를 사용하여 파일 이름 일괄 변경 Bash가 일련의 패키지 이름을 변경하여 버전 번호를 제거하려면 어떻게 해야 합니까?둘 다 가지고 놀았어요expr그리고.%%헛되이 예: Xft2-2.1.13.pkg된다Xft2.pkg jasper-1.900.1.pkg된다jasper.pkg xorg-libXrandr-1.2.3.pkg된다xorg-libXrandr.pkgbash의 매개 변수 확장 기능을 사용할 수 있습니다. for i in ./*.pkg ; do mv "$i" "${i/-[0-9.]*.pkg/.pkg}" ; done 공백이 있는 파일 이름에는 따옴표가 필요합니다.모든 파일이 동일한 디렉토리에 있는 경우 시퀀스 ls | sed -n 's/\(.*\)\(-[0-9.]*\.pkg\)/mv "\1\2" "\1..

source 2023.05.12

MSYS에서 폴더 찾아보기

MSYS에서 폴더 찾아보기 이것은 오늘의 가장 어려운 질문이 될 것입니다.MSYS 셸에서 Windows 폴더 구조를 탐색하는 방법은 무엇입니까?쉘을 시작하면 '~'밖에 안 보여요.'ls'를 입력하면 폴더가 비어 있습니다.저는 단지 제 c 드라이브로 가는 방법을 알고 싶습니다.cd /c/C에 액세스하기 위해: cd /d/D: 기타.사용하다df모든 마운트 지점을 확인하여 해당 지점으로 이동할 수 있습니다.df출력은 아래와 같습니다. Filesystem 1K-blocks Used Available Use% Mounted on C:\Users\Sam\AppData\Local\Temp 76694276 46239412 30454864 61% /tmp C:\MinGW\msys\1.0 76694276 46239412 ..

source 2023.05.07

Bash의 멀티스레딩

Bash의 멀티스레딩 이 질문에는 이미 다음과 같은 답이 있습니다. bash 스크립트에서 여러 프로그램을 병렬로 실행하려면 어떻게 해야 합니까? (19개 답변) 마감됨6년 전에. 저는 제 셸 스크립트에 멀티스레딩 기능을 도입하려고 합니다. 함수를 호출하는 스크립트가 있습니다.read_cfg()다른 주장으로이러한 각 함수 호출은 독립적입니다. 스크립트가 아닌 이러한 함수 호출을 병렬로 인스턴스화할 수 있습니까?어떻게 하면 그것을 달성할 수 있을까요?네, 그냥 추가하세요.&명령 뒤: read_cfg cfgA & read_cfg cfgB & read_cfg cfgC & wait 그러면 모든 작업이 동시에 백그라운드에서 실행됩니다.선택 사항wait그러면 명령이 모든 작업이 완료될 때까지 기다립니다. 각 명령은 ..

source 2023.05.02

문자열이 Bash 스크립트의 정규식과 일치하는지 확인

문자열이 Bash 스크립트의 정규식과 일치하는지 확인 스크립트에서 받는 인수 중 하나는 다음 형식의 날짜입니다.yyyymmdd. 제가 유효한 날짜를 입력받았는지 확인하고 싶습니다. 어떻게 해야 하나요?다음과 같은 정규식을 사용하려고 합니다.[0-9]\{\8}테스트 구성을 사용할 수 있습니다.[[ ]]정규식 일치 연산자와 함께,=~문자열이 정규식 패턴(해석)과 일치하는지 확인합니다. 특정 사례에 대해 다음과 같이 작성할 수 있습니다. [[ "$date" =~ ^[0-9]{8}$ ]] && echo "yes" 또는 더 정확한 검정: [[ "$date" =~ ^[0-9]{4}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])$ ]] && echo "yes" # |\______/\____..

source 2023.05.02

Bash에서 평가를 피해야 하는 이유는 무엇이고, 대신 무엇을 사용해야 합니까?

Bash에서 평가를 피해야 하는 이유는 무엇이고, 대신 무엇을 사용해야 합니까? 가 Bash를 사용하여 응답하는 것을 몇 번이고 봅니다.eval그리고 그 대답들은 그런 "말도 안 되는" 구조의 사용을 위해 말장난 의도로 얻어맞습니다. 왜?eval그렇게 사악한가요? 한다면eval안전하게 사용할 수 없습니다. 대신 무엇을 사용해야 합니까?이 문제에는 눈에 보이는 것 이상의 것이 있습니다.다음은 당연한 것부터 시작하겠습니다.eval에는 "잘못된" 데이터가 실행될 가능성이 있습니다.더티 데이터는 상황에 따라 안전하게 사용할 수 있는 XYZ로 다시 작성되지 않은 모든 데이터입니다. 이 경우 평가에 안전하도록 포맷되지 않은 문자열입니다. 데이터를 삭제하는 것은 언뜻 보기에 쉬워 보입니다.Bash는 이미 개별 요소를..

source 2023.04.27

셸 스크립트의 연관 배열

셸 스크립트의 연관 배열 이 질문에는 이미 다음과 같은 답이 있습니다. Bash에서 해시 테이블을 정의하는 방법은 무엇입니까? (15개 답변) 마감됨4개월 전에. 셸 스크립팅을 위해 연관 배열이나 지도와 같은 데이터 구조를 시뮬레이션하는 스크립트가 필요합니다.누가 어떻게 하는지 알려줄 수 있나요?이동성이 주요 관심사가 아니라면 셸에 내장된 연결 어레이를 사용하는 것도 방법입니다.이 기능은 bash 4.0(현재 대부분의 주요 디스트리뷰터에서 사용 가능), ksh 및 zsh에서 작동합니다. declare -A newmap newmap[name]="Irfan Zulfiqar" newmap[designation]=SSE newmap[company]="My Own Company" echo ${newmap[comp..

source 2023.04.27

Bash 스크립트에 대한 매개 변수 유효성 검사

Bash 스크립트에 대한 매개 변수 유효성 검사 저는 많은 폴더가 필요하지 않게 되었을 때 폴더를 제거하는 프로세스를 자동화하는 데 도움이 되는 기본적인 방법을 생각해 냈습니다. #!/bin/bash rm -rf ~/myfolder1/$1/anotherfolder rm -rf ~/myfolder2/$1/yetanotherfolder rm -rf ~/myfolder3/$1/thisisafolder 이는 다음과 같이 유발됩니다. ./myscript.sh 문제는 만약 당신이 입력하는 것을 잊는다면.id-number (내가 바로 그때 했던 것처럼), 그러면 정말로 삭제하고 싶지 않은 많은 것들이 잠재적으로 삭제될 수 있습니다. 명령줄 매개 변수에 유효성 검사 형식을 추가할 수 있는 방법이 있습니까?저의 경우, ..

source 2023.04.27

Bash 스크립트가 전체 경로를 얻을 수 있는 신뢰성 높은 방법

Bash 스크립트가 전체 경로를 얻을 수 있는 신뢰성 높은 방법 이 질문에는 이미 답변이 있습니다. 스크립트 자체에서 Bash 스크립트가 있는 디렉토리를 가져오려면 어떻게 해야 합니까? (75개 답변) 닫힘6년 전에요. 전체 경로를 알아야 하는 Bash 스크립트가 있습니다.상대적이거나 펑키해 보이는 경로로 끝나지 않고 폭넓게 호환되는 방법을 찾고 있습니다.저는 Sh, csh 등이 아닌 Bash만 지원하면 됩니다. 지금까지 알아낸 것: 주소 내에서 Bash 스크립트의 소스 디렉토리를 가져오고 스크립트의 경로를 가져오는 데 사용되는 답변입니다.dirname $0(이것은 괜찮지만, 상대적인 패스를 되돌리는 경우가 있습니다)..스크립트내의 디렉토리를 변경해, 패스가 계속 스크립트의 디렉토리를 가리키고 있는 경우..

source 2023.04.22

셸에서 문자열을 분할하여 마지막 필드를 가져오는 방법

셸에서 문자열을 분할하여 마지막 필드를 가져오는 방법 내가 그 끈을 가지고 있다고 가정해봐1:2:3:4:5마지막 필드를 취득하고 싶다.5(이 경우)를 참조해 주세요.Bash를 사용해서 어떻게 하죠?나는 노력했다.cut단, 마지막 필드를 지정하는 방법은 모릅니다.-f.문자열 연산자를 사용할 수 있습니다. $ foo=1:2:3:4:5 $ echo ${foo##*:} 5 이렇게 하면 앞에서부터 ':'까지 모든 것이 탐욕스럽게 다듬어집니다. ${foo (empty) $ echo ':b' | sed 's/.*://' # => b $ echo '::c' | sed 's/.*://' # => c $ echo 'a' | sed 's/.*://' # => a $ echo 'a:' | sed 's/.*://' # => (..

source 2023.04.22
반응형