これは私が経験している簡単な問題ですが、うまくsed
対処できません。
結果split
として、すべての1桁の数字ブロックには前に0が付きますBRNSPC_varID_chunk_07.txt
。下線の後の先行ゼロを削除して、次のように見せたいと思いますBRNSPC_varID_chunk_7.txt
。次のゼロに影響を与えたくありません(つまり、BRNSPC_varID_chunk_70.txt
維持したいBRNSPC_varID_chunk_70.txt
)。誰かがこれらすべてのファイルの名前をすばやく変更するのに役立ちますか? Rで処理する方法がわからないRスクリプトでエラーが発生します。
そしてそのファイルの一つはBRNSPC_varID_chunk_00.txt
…それが終わったらいいですBRNSPC_varID_chunk_0.txt
。
ありがとう
ベストアンサー1
与えられた
$ touch BRNSPC_varID_chunk_07.txt BRNSPC_varID_chunk_00.txt BRNSPC_varID_chunk_70.txt
bash
もしそうなら、少なくともksh
、、、zsh
$ for f in ./*chunk_0?.txt; do echo mv "$f" "${f/chunk_0/chunk_}"; done
mv ./BRNSPC_varID_chunk_00.txt ./BRNSPC_varID_chunk_0.txt
mv ./BRNSPC_varID_chunk_07.txt ./BRNSPC_varID_chunk_7.txt
echo
それが正しいことをすることを確信したら、取り除きなさい。
chunk
あいまいさがない場合(つまり、_0
名前の他の場所にシーケンスが表示されない場合)、プレフィックスを削除できます。
fromを使用するなど、移植性の悪いソリューションなどがたくさんありますrename
。mmv
rename
util-linux
rename.ul -n -v chunk_0 chunk_ ./*chunk_0?.txt
(-n
実際に名前を変更するには削除してください)。