N番目とM番目のパターン発生の間の文字列を抽出するには?

N番目とM番目のパターン発生の間の文字列を抽出するには?

ファイルパス(txtファイルなど)を含むpath.txtファイルがあります。

/Folder/F1/F2/F3/F4/.../Fn/abc.txt

パス、つまり最初から最後の項目までの文字列を抽出したい/(パス内のフォルダの数が異なる可能性があるため)。

私は欲しい:

/Folder/F1/F2/F3/F4/.../Fn

sed/awk/perl/viのどれが最良の選択であり、どのように選択しますか?

ベストアンサー1

上記のツールのいずれかを使用するには、次のものを使用できますsed

echo "/Folder/F1/F2/F3/F4/.../Fn/abc.txt" | sed "s/\/[^/]*$//"
sed -i "s/\/[^/]*$//" path.txt

Bashを使用している場合は、Bashパラメータ拡張を使用してこれを達成できます。

path=$(cat path.txt)
echo "${path%/*}"

言ったように隅にあなたはそれを使用することができますdirname

おすすめ記事