ワイルドカードを使用して複数のディレクトリ名の一部を削除する

ワイルドカードを使用して複数のディレクトリ名の一部を削除する

Unixを使用して一連のディレクトリ名の最後を削除しようとしています。以下は命名構造の例です。

s23987_11.09.16_hf_0001
s29485_03.04.07_hs_0005
s39854_01.01.01_an_0011

ディレクトリ名が次のようになるように、最初の_以降のすべてのエントリを削除しようとしています。

s23987
s29485
s39854

ベストアンサー1

POSIXシェルの使用:

for d in *_*; do mv -- "$d" "${d%%_*}"; done

これ%%通事論「できるだけ一致する:アンダースコア(_)の後に*変数値の末尾にあるエントリ()」が続くことを意味します。

おすすめ記事