Bash

如何一步複製和添加文件名前綴?

  • November 15, 2018

我想在一個目錄中複製和重命名多個 c 源文件。

我可以這樣複製:

$ cp *.c $OTHERDIR

但我想給所有文件名一個前綴:

file.c --> old#file.c

我怎樣才能在 1 步中做到這一點?

一個for循環:

for f in *.c; do cp -- "$f" "$OTHERDIR/old#$f"; done

我經常添加-v選項以cp允許我觀看進度。

您可以使用外殼萬用字元:

for f in *.c; do cp -- "$f" "$OTHERDIR/old#$f"; done

for variable in GLOB格式會將glob擴展到所有匹配的文件/目錄(不包括隱藏文件)並對其進行迭代,依次將每個文件/目錄保存為$variable(在上面的範例中,$f)。所以,我展示的命令將遍歷所有非隱藏文件,複製它們並添加前綴。

引用自:https://unix.stackexchange.com/questions/218816