次の文字列があります。
dir/subdir/othersubdir/file.txt
しかし、次のように見えるかもしれません。
dir/file.txt
または
dir/subdir/file.txt
$P
ディレクトリのフルパスを持つスクリプトを作成していますfile.txt
。
今私はこれを使う
sed 's/\/.*txt//g'
txtとinで終わりを変えてください/
。このようなものがあればうまくいきますdir/file.txt
が、他の例では機能しません。自分が好きなようにするにはどうすればよいですか?
以前のサブディレクトリと一致させたくありません.*txt
。ファイルのデフォルト名を削除したいと思います。
ベストアンサー1
使用に固執しない場合は、sed
次の使用を検討できますdirname
。
S="dir/subdir/othersubdir/file.txt"
P=$(dirname $S)
echo $P
dir/subdir/othersubdir
S="dir/file.txt"
P=$(dirname $S)
echo $P
dir