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