1

pwd | sed "s%^\(/[^/]*/\).*?\(/[^/]+\)$%\1...\2%"

なぜこれが機能しないのかわかりません。最初のキャプチャ グループの後で、貪欲な星と貪欲でない星の両方を試しました。私は先読みなども使用していません。正規表現テスターで動作します。パスの最初と最後のテキスト部分を取得しようとしています (現在のディレクトリのアイデアを提供しながらそれをつぶすため)。

これは tmux プロンプト ライン用なので、仕事をするために perl のような重いものを持ち込まないようにしています。

4

2 に答える 2

1

パラメータ展開を使用しないのはなぜですか? パラメータ展開は、そこにあるコマンド、パイプ、および外部コマンドよりも処理能力がはるかに低くなります

start="${PWD#/}"; start="${start%%/*}"
end="${PWD/*\//}"
printf '/%s/…/%s $ ' "$start" "$end"
于 2013-04-09T01:04:23.623 に答える
0

さらに数回試した後、私はそれを手に入れました:

pwd | sed "s%^\(/[^/]*/\).*\(/[^/]*\)$%\1...\2%"

于 2013-04-09T00:27:09.307 に答える