Bash
如何一步複製和添加文件名前綴?
我想在一個目錄中複製和重命名多個 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
)。所以,我展示的命令將遍歷所有非隱藏文件,複製它們並添加前綴。