次のパターンの最後の単語を印刷したいと思います。たとえば、/rahul/file.txt --> file.txt を印刷し、パターンが /rahul/sample/file1.txt の場合 --> file1.txt を印刷する必要があります。印刷されました。
最も簡単な方法はデフォルト名を使用することですが、私のJenkinsでは機能しません。別の方法がありますか?
答え1
AND csh
、tcsh
ORが含まれているzsh
場合は、次に展開されます。$var
/path/to/file
$var:t
尾はい$var
、そうですfile
。
あなたはこのようなものを得るでしょうvim
。
その:h
(頭)、:t
(尾)、:r
(根)、:e
(拡張子)修飾子また、レコード拡張(csh、tcsh、bash、zsh)とzsh
。
/
の実装またはそれに対応する実装の間には動作に若干の//
違いがあります/some/dir/
。
他のシェルの場合は、いつでも次のbasename
コマンドを使用できます。
basename -- "$var"
出力されます尾についても同様です$var
。
他の変数に保存できます。
other_var=$(basename -- "$var")
$var
(ただし、改行文字で終わると正常に動作しません。)
POSIXシェルを使用して${var##*/}
に展開し$var
、一番右のすべてのエントリを削除します/
。
とにかく、あなたのジェンキンス質問は関係がない可能性があり、実行するコマンドを解釈するシェルの実行方法によって異なります。