반응형

bash 13

bash의 디렉토리에서 임의 파일을 선택하려면 어떻게 해야 합니까?

bash의 디렉토리에서 임의 파일을 선택하려면 어떻게 해야 합니까? 저는 약 2000개의 파일이 있는 디렉토리를 가지고 있습니다.의 랜덤 샘플을 선택하려면 어떻게 해야 합니까?N명령 합니다. ? 스 립 또 piped 명 록 사 하 여 파 일 처 합 니 리 까 을 용령 bash을목 는크트 ?까니▁files합리처?GNU 정렬의 임의 옵션을 사용하는 스크립트는 다음과 같습니다. ls |sort -R |tail -$N |while read file; do # Something involving $file, or you can leave # off the while to just get the filenames done 사용할 수 있습니다.shuf(GNU coreutils 패키지에서) 그것을 위해.에서 첫 줄을 ..

programing 2023.06.04

단일 스크립트를 윈도우즈 배치 및 리눅스 Bash에서 모두 실행하시겠습니까?

단일 스크립트를 윈도우즈 배치 및 리눅스 Bash에서 모두 실행하시겠습니까? Windows(.bat로 처리)와 Linux(Bash를 통해) 모두에서 실행되는 단일 스크립트 파일을 작성할 수 있습니까? 저는 두 가지 기본 구문을 모두 알고 있지만 이해하지 못했습니다.일부 Bash의 모호한 구문이나 일부 Windows 배치 프로세서 결함을 이용할 수 있습니다. 실행할 명령은 다른 스크립트를 실행하기 위해 한 줄만 사용할 수 있습니다. Windows와 Linux 모두에 대해 단일 응용 프로그램 부팅 명령을 사용하는 것이 동기입니다. 업데이트: 시스템의 "네이티브" 셸 스크립트의 필요성은 올바른 인터프리터 버전을 선택하고, 잘 알려진 특정 환경 변수를 준수해야 한다는 것입니다.CygWin과 같은 추가 환경을 설..

programing 2023.05.20

모든 파일의 후행 공백을 재귀적으로 제거하는 방법은 무엇입니까?

모든 파일의 후행 공백을 재귀적으로 제거하는 방법은 무엇입니까? 전체 프로젝트의 후행 공백을 모두 제거하려면 어떻게 해야 합니까?루트 디렉토리에서 시작하여 모든 폴더의 모든 파일에서 뒤에 오는 공백을 제거합니다. 또한 모든 것을 stdout으로 출력하는 것이 아니라 파일을 직접 수정할 수 있기를 원합니다.OS X > = 10.6 Snow Leopard 솔루션입니다. .git 및 .svn 폴더와 해당 내용을 무시합니다.또한 백업 파일을 남기지 않습니다. (export LANG=C LC_CTYPE=C find . -not \( -name .svn -prune -o -name .git -prune \) -type f -print0 | perl -0ne 'print if -T' | xargs -0 sed -Ei..

programing 2023.05.20

전체 경로 없이 현재 디렉토리 또는 폴더 이름 가져오기

전체 경로 없이 현재 디렉토리 또는 폴더 이름 가져오기 bash 스크립트에서 현재 작업 디렉터리/폴더 이름을 검색하려면 어떻게 해야 합니까, 더 나은 것은 터미널 명령입니다. pwd현재 작업 디렉터리의 전체 경로를 제공합니다./opt/local/bin하지만 난 그저bin.기본 이름이 필요하지 않으며, 특히 pwd를 실행하는 하위 셸이 필요하지 않습니다. (추가적이고 값비싼 포크 작업을 추가합니다.) 셸은 매개 변수 확장을 사용하여 내부적으로 이 작업을 수행할 수 있습니다. result=${PWD##*/} # to assign to a variable result=${result:-/} # to correct for the case where PWD=/ printf '%s\n' "${PWD##*/}" # ..

programing 2023.05.10

명령이 실패하면 어떻게 종료합니까?

명령이 실패하면 어떻게 종료합니까? 이 질문에는 이미 답이 있습니다. 명령이 0이 아닌 값을 반환하는 경우 셸 스크립트를 중단합니다. (10개 답)입니다. 닫았습니다2년 전에요. 저는 조개껍데기 대본에 능통합니다.메시지를 인쇄하고 명령이 실패하면 스크립트를 종료하려고 합니다.노력했습니다. my_command && (echo 'my_command failed; exit) 하지만 효과가 없습니다.스크립트의 다음 줄에 따라 명령이 계속 실행됩니다.Ubuntu랑 bash를 쓰고 있어요.시도해 보십시오. my_command || { echo 'my_command failed' ; exit 1; } 네 가지 변경 사항이 있습니다. 바꾸다&&로.|| 사용하다{ }대신해서( ) 소개하다;끝나고exit그리고. 뒤에 공백..

programing 2023.04.25

기존 문자열에 어떻게 추가합니까?

기존 문자열에 어떻게 추가합니까? 문자열을 루핑할 때마다 문자열에 "테스트"를 추가할 수 있도록 문자열에 추가합니다. 처럼요PHP다음을 수행할 수 있습니다. $teststr = "test1\n" $teststr .= "test2\n" echo = "$teststr" 반환되는 항목은 다음과 같습니다. test1 test2 하지만 셸 스크립트로 해야 합니다.클래식 sh에서는 다음과 같은 작업을 수행해야 합니다. s=test1 s="${s}test2" (이 주제에 대한 다양한 변형이 있습니다.s="$s""test2") bash에서는 +=를 사용할 수 있습니다. s=test1 s+=test2 $ string="test" $ string="${string}test2" $ echo $string testtest2 ..

programing 2023.04.25

변수 끝에서 문자 제거

변수 끝에서 문자 제거 Bash 자동 완료는 디렉토리 이름 끝에 /를 추가합니다.위치 매개 변수에서 이 항목을 제거하려면 어떻게 해야 합니까? #!/bin/sh target=$1 function backup(){ date=`date "+%y%m%d_%H%M%S"` PWD=`pwd` path=$PWD/$target tar czf /tmp/$date$target.tar.gz $path } backup 사용하다 target=${1%/} 참고 자료입니다.사용하다target=${1%/} 자세한 내용은 이 bash 스크립팅가이드의 파라미터 대체를 참조해 주세요.경로를 구체화하는 더 좋은 해결책은realpath $path또는 을 사용하여-m옵션(존재하지 않는 경우)을 선택합니다.이 솔루션은 자동으로 불필요한 슬래시를..

programing 2023.04.20

정규식과 일치하는 첫 번째 줄 뒤에 파일의 일부를 가져오는 방법

정규식과 일치하는 첫 번째 줄 뒤에 파일의 일부를 가져오는 방법 1000줄 정도의 파일이 있습니다.나는 내 grep 문장과 일치하는 줄 뒤에 내 파일의 부분을 원한다. 즉, 다음과 같습니다. cat file | grep 'TERMINATE' # It is found on line 534 그래서 535번 줄에서 1000번 줄까지 파일을 더 처리해 주셨으면 합니다. 내가 어떻게 그럴 수 있을까?다음은 일치하는 라인을 인쇄합니다.TERMINATE일의마 마지: : sed -n -e '/TERMINATE/,$p' ★★★★ -n 을 디세블로 .sed한 후 하는 것을 .-e에 대한 스크립트를 표시하다sed,/TERMINATE/,$) 으로, 「(행)」에 하는 최초의 행을 합니다.이것은, 에 일치하는 첫 번째 행을 의미..

programing 2023.04.15

파일에서 n번째 줄을 가져오는 Bash 도구

파일에서 n번째 줄을 가져오는 Bash 도구 렇게논논논논논논논논논논논논? 쓰고 있어요.head -n | tail -1그런 것도 있지만 파일에서 특정 행(또는 행 범위)을 추출하는 Bash 툴이 있는지 궁금합니다. '캐노닉'이란, 그것을 하는 것이 주된 기능인 프로그램을 말합니다.head를 피우다tail추천할 수 있는 건sed음음음같 뭇매하다 sed 'NUMq;d' file 서 ★★★★★NUM를 들어, 인쇄하는 행의 번호입니다.예를 들어 다음과 같습니다.sed '10q;d' file를 file. 설명: NUMq회선번호가 다음과 같으면 즉시 종료됩니다.NUM. d은, 「인쇄하지 않다」가 있기 때문입니다.이것은 마지막 행에서 금지됩니다.이것은, 다음의 이유로,q를 지정하면 종료 시 나머지 스크립트는 건너뛰게 ..

programing 2023.04.15

Bash가 다른 디렉토리 컨텍스트에서 명령을 실행하려면 어떻게 해야 합니까?

Bash가 다른 디렉토리 컨텍스트에서 명령을 실행하려면 어떻게 해야 합니까? 특정 디렉토리 내에서 호출되는 공통 명령어가 있습니다.이 프로그램의 /bin에 있는 실행 파일은 1개뿐이며, 현재 작업 디렉토리는 이 프로그램을 올바르게 실행하기 위해 매우 중요합니다.스크립트는 스크립트가 실행되는 디렉토리 내에 있는 파일에 영향을 줍니다. 또, 커스텀 셸 스크립트는 1개의 디렉토리에서 몇개의 작업을 실시합니다만, 상기의 커스텀 셸 스크립트는 다른 디렉토리에 있는 것처럼 호출할 필요가 있습니다. 셸 스크립트로 이 작업을 수행하려면 어떻게 해야 합니까?사용하다cd즉, 이러한 종류의 서브셸을 사용하는 간단한 방법은 괄호입니다. (cd wherever; mycommand ...) 즉, 커맨드에 필요한 환경이 있는 경우..

programing 2023.04.15
반응형