使用元数据内容重命名多个文件

时间:2014-01-03 08:12:45

标签: regex shell grep dicom file-rename

我想使用元数据中的字段(DICOM文件中的患者名称)重命名多个文件。

例如:

A001.dcm --> 1816.dcm

我找到了一个名为dcmdump的实用程序:

dcmdump --search PatientName A001.dcm
  

将输出:

(0010,0010) PN [TEACHINGFILE-MG-1816] # 20, 1 PatientName

但是我想提取“1816”部分来使用它来重命名文件,所以我测试了

dcmdump --search PatientName A001.dcm | grep -E "MG\-(.*?)\]" -o

这给了:

MG-1816]

我想知道如何才能获得“1816”部分,并使用它来重命名A001.dcm文件。

提前致谢!!

1 个答案:

答案 0 :(得分:0)

您可以使用grep -P (PCRE)

grep -oP "MG-\K[0-9]+"

或sed:

sed 's/^.*MG-\([0-9]*\).*/\1/'