는 기본적으로 펄 스크립트에 이제디렉토리 이름에서 상위 디렉토리의 이름을 추출하려면 어떻게합니까?
export MYPATH=/home/test/mysamplepath
아래에 주어진 나는 기능과 일부 표현을 사용하거나 디렉토리 위의 하나 개의 경로를 알고 싶은 디렉토리의 위치를 저장하는 환경 변수를 가지고있는 마지막 부분이 수를 통해 아래처럼 뭔가를 제거하십시오.
$myNewPath = '/home/test'
는 기본적으로 펄 스크립트에 이제디렉토리 이름에서 상위 디렉토리의 이름을 추출하려면 어떻게합니까?
export MYPATH=/home/test/mysamplepath
아래에 주어진 나는 기능과 일부 표현을 사용하거나 디렉토리 위의 하나 개의 경로를 알고 싶은 디렉토리의 위치를 저장하는 환경 변수를 가지고있는 마지막 부분이 수를 통해 아래처럼 뭔가를 제거하십시오.
$myNewPath = '/home/test'
이 같은 환경 변수를 읽은 다음 정규식과 경로의 필요한 나머지 부분을 줄일 수 있습니다 : 당신은 정규 표현식과 경로를 일치시킬 수 있습니다
#!/usr/bin/perl
use warnings;
use strict;
my $path = $ENV{'MYPATH'};
$path =~ s/^(\/.+)\/.+\/?$/$1/;
print $path . "\n";
my $ mynewpath = $ oldpath = ~ /(.+?)/\w+/; 시도해보십시오.
리눅스 또는 유닉스 기반 시스템use File::Basename;
my $myNewPath = dirname($ENV{MYPATH});
: 당신이 당신의 URL에 \
을 탈출 한 경우
if($line =~ /export\s\$MYPATH=(.*)(?<!\\)\//){
$new_path = $1;
}
이 또한 작동합니다.
감사합니다. – Abhinav