Как преобразовать perl в сценарий оболочки? - PullRequest
0 голосов
/ 09 мая 2020

У меня есть сценарий perl, который получает имя файла в качестве входных данных .. как я могу преобразовать его в сценарий оболочки? Пожалуйста, помогите мне

$path = shift;
$path =~ /.*\/(.*)/;
$filename = $1;

if (0 == length($filename)) {
    $filename = $path;
}   
$rev = `git log -- $path | head -n 3`;
$rev =~ /^Date:\s*(.*)\s*$/m;
$date = $1;

while (<STDIN>) {
    s/\$Date[^\$]*\$/\$Date:   $date \$/;
    s/\$Revision[^\$]*\$/\$Revision: $ident \$/;
} continue {
    print or die "-p destination: $!\n";
} 

1 Ответ

1 голос
/ 09 мая 2020

Следующая команда / сценарий sh будет делать то же самое, что и предоставленная программа Perl:

perl -e'
    $path = shift;
    $path =~ /.*\/(.*)/;
    $filename = $1;

    if (0 == length($filename)) {
        $filename = $path;
    }   
    $rev = `git log -- $path | head -n 3`;
    $rev =~ /^Date:\s*(.*)\s*$/m;
    $date = $1;

    while (<STDIN>) {
        s/\$Date[^\$]*\$/\$Date:   $date \$/;
        s/\$Revision[^\$]*\$/\$Revision: $ident \$/;
    } continue {
        print or die "-p destination: $!\n";
    }
' "$path"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...