私のマインドブレイカーを見てください。
私は次のように、正規表現でいくつかの長いパスを縮小することに固執していました:
/12345/123456/1234/123/12/1/1234567/13245678/123456789/1234567890
このパスを次の形式に変換したいと思います。
/123/123/123/123/12/1/123/123/123/123
パス内の各「ディレクトリ」は、最初の3文字のみを省略します
LONG_PATH="/12345/123456/1234/123/12/1/1234567/13245678/123456789/1234567890"
perl -pe "s#/(.{1,3})[^/]*?(/|$)#/\1\2#g" <<<$LONG_PATH
/ 123/123456/123/123/12 // 1234567/132/123456789/123
sed -E "s#/(.{1,3})[^/]*?(/|$)#/\1\2#g" <<<$LONG_PATH
/ 123/123456/123/123/12 // 1234567/132/123456789/123
私も試しました:
perl -pe "s,/(.)(.)?(.)?[^/]*+,/\1\2\3,g" <<<$LONG_PATH
/123/123/123/123/12//123/132/123/123
そして他の多くの、「運」はありません-私はまだ知りません。
成功への正しい道を教えてください。