我在一个目录(在 bash 中)中有一组广泛的文件,其命名(不方便)如下:
COMMONSTUFF_X_Y_**VARIABLE-IDENTIFIER**_COMMONSTUFF
我还有一个表,其中一列包含VARIABLE-IDENTIFIER
(注意,不是全名,只有变量标识符部分),另一列中有一个简单的唯一名称(在同一行上关联),我想将其替换为复杂的名称对于目录中的文件来说不方便。
我想我可以有一个脚本来读取文件名,检查它是否与表的特定列中的变量标识符对应,如果这是真的,则从另一列读取我需要的名称并重命名它具有此名称的文件。
我是 shell 脚本新手,所以我不知道从哪里开始,但我认为这是可行的。
答案1
我会这样做,在awk
:
awk -F, '{system("mv COMMONSTUFF_X_Y_" $1 "_COMMONSTUFF " $2)}' mycsv.csv
其中 1 是 VARIABLE-IDENTIFIER 的(1 索引)列号,2 是简单唯一名称的列号。