从文件名中提取文本并将文件重命名为 grep 文本?

黑色的

我有很多文件名如下。我想用中间的 5 位数字重命名这些文件。例如,重命名N18CMS95WS.12446_950C_wet.txt12446.txt

N18CMS95WS.12446_950C_wet.txt       
N18CMS9WS.12507_900C_wet.txt                
R418WS.15069_800C_wet_air.txt
N18CN85S.13375_850C_dry.txt         
R4195S.13648_950C_dry.txt

我厌倦grep ".[[:digit:]]_" N18CMS95WS.12446_950C_wet.txt了获取12446文件名中的“,但它不起作用。有人能给我一些帮助吗?

葡萄酒

如果你有rename

rename -v 's/.*\.([0-9]+)_.*/$1.txt/' *.txt

这是一个替代解决方案:

for file in *.txt; do
  new="${file#*.}"
  new="${new%%_*}"
  mv -v "$file" "$new".txt
done

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从pdf文件中提取文本

如何从特定行grep文本?

如何从grep结果中提取文件名?

使用awk从grep匹配中提取文本并排放置

如何针对每个单独的文件名从多个文本文件中提取数据?

我想将JSON文件的值重命名为角度2+中具有键/值的可读文本

从文件名中提取值并将其添加到文本文件中

有歧义时,使用grep从Linux中的txt文件中提取文本

重击:grep从文件中选择文本

在bash中使用grep命令从文本文件中提取数据时出错

用grep比较文本文件

包含非注释文本的grep文件

下载页面上的所有PDF文件并将其自动重命名为超链接文本

使用grep从文本文件中提取数据并将其保存在另一个目录中

Linux文本提取GREP

将目录中的100个文件重命名为存储在文本文件中的新文件名

grep在* .odt或* .doc文件中的文本?

如何打开文件夹并将文本文件放置在数据框中并根据文件名重命名数据框?

来自文本文件的grep文件名,并打印将该文件调用为文本的shell文件的名称

使用GREP从文件中提取文本并将其存储在数组中的Bash语法

Ruby:将用户给定目录中的所有文件从.txt重命名为文本

使用正则表达式Python从文本中提取文件名

使用grep从基于正则表达式的文件中提取一些文本

将文本文件重命名为内容文本(批处理)(powershell)

需要从文本文件中提取内容并增加文件名

从文件中提取文本以用作文件名

使用 grep/awk/sed 在某个单词之后 grep 整个文本

通过将文件名与文本文件中的名称进行比较来重命名文件

使用 grep 从文本文件中提取带有表达式的文本