我正在尝试根据名称中的数字移动文件夹中的文件。
文件是capture_%Y-%m-%d_%H:%M:%S.pcap
这样的名称我想像fooNNN_bar.txt
这就是我现在所拥有的。它会打印出每个文件必须移动到的文件夹。我不知道如何收集数字以将其添加到mv命令中。这甚至是正确的方法吗?
/NNN/fooNNN_bar.txt
答案 0 :(得分:2)
假设你的grep按你的意愿工作:
#!/bin/bash
for filename in foo*.txt; do
num=$(echo "${filename}" | grep -Eo '[0-9]{1,4}')
mkdir -p "$num"
mv "$filename" "$num"
done