0

(Mac OS X ターミナルを使用して) unix を初めて使用し、ファイル名の途中にテキストを追加して特定のファイルの名前を変更しようとしています。dr_ic0004./temp フォルダー内のすべてのファイルについて、./temp で始まるファイル名を置き換えたいと思いますdr_ic0004_DMN

たとえば、 dr_0004_tstat1.txtおよびdr_0004_tstat2.txtwith dr_0004_DMN_tstat1.txtおよびdr_0004_DMN_tstat2.txt それぞれ。

4

2 に答える 2

2
for filename in dr_0004*
do
    mv "$filename" dr_0004_DMN"${filename#dr_0004}"
done
于 2012-06-29T14:50:00.570 に答える
-1

dr_ic0004foodr_ic0004barおよびがあったとしdr_ic0004bazます。それらをすべて表示するには、次のようにします。

ls dr_ic0004*

foo変数部分 ( 、barおよび)を分離するには、bazsed を介してそのリストを実行できます。

ls dr_ic0004*|sed 's/^dr_ic0004//'

単一のファイルの名前を変更するには、次を使用しますmv

mv dr_ic0004foo dr_ic0004_DMNfoo

forリストを反復するには、ループを使用できます。

for x in foo bar baz; do echo $x ; done

それらをすべてまとめると、次のようになります。

for x in `ls dr_ic0004*|sed 's/^dr_ic0004//'`; do mv dr_ic0004$x dr_ic0004_DMN$x; done
于 2012-06-29T14:18:48.143 に答える