ACRBAMIDKC124,/Program Files (x86)/BigFix Enterprise/BES Client/__GTS/jre/bin/java.exe
ACRBAMIDKC124,/Program Files/Java/jre6/bin/java.exe
ACRBAMIDKC125,/Program Files/Tivoli/TSM/baclient/jvm80535/jre/bin/java.exe
そして私たちが望む予想結果
ACRBAMIDKC124,/Program Files (x86)/BigFix Enterprise/BES Client/__GTS/jre/bin
ACRBAMIDKC124,/Program Files/Java/jre6/bin
ACRBAMIDKC125,/Program Files/Tivoli/TSM/baclient/jvm80535/jre/bin
ベストアンサー1
$ sed 's,/[^/]*$,,' file
ACRBAMIDKC124,/Program Files (x86)/BigFix Enterprise/BES Client/__GTS/jre/bin
ACRBAMIDKC124,/Program Files/Java/jre6/bin
ACRBAMIDKC125,/Program Files/Tivoli/TSM/baclient/jvm80535/jre/bin
これにより、各行の最後の文字の後のすべての内容がsed
削除されます。/
正規表現は、/[^/]*$
行末のスラッシュの後に非スラッシュ文字が続くものと一致し、置換はこれらの文字を削除します(何も置き換えません)。
同じものawk
:
awk '{ sub("/[^/]*$", ""); print }' file
cut
切り取る固定区切り文字がないため、ここでユーティリティを使用するのは厄介です。あなたは明らかにすることができますキャンセル各行はrev
で始まり抽出され、逆の順序で抽出されますが、両方の行が同じ操作をよりきれいに実行できるため、/
作業が多すぎるようです。sed
awk
$ rev file | cut -d '/' -f 2- | rev
ACRBAMIDKC124,/Program Files (x86)/BigFix Enterprise/BES Client/__GTS/jre/bin
ACRBAMIDKC124,/Program Files/Java/jre6/bin
ACRBAMIDKC125,/Program Files/Tivoli/TSM/baclient/jvm80535/jre/bin