我必须在 unix 中用其内容的第一个单词重命名所有文件名

Posted

技术标签:

【中文标题】我必须在 unix 中用其内容的第一个单词重命名所有文件名【英文标题】:I have to rename all file names with first word of their content in unix 【发布时间】:2012-11-02 19:07:07 【问题描述】:

我用过这个

head -1 -q *.txt|awk 'print $1' 

打印文件中内容的第一行。 现在如何继续重命名文件?

【问题讨论】:

你想处理名字冲突的情况吗? theunixshell.blogspot.com/2013/01/… 【参考方案1】:

您可以使用 for 循环:

for fname in *.txt
do
mv $fname $(head -1 -q $fname|awk 'print $1')
done

【讨论】:

无需将head 传送到awkawk 'print $1; exit' 有效。此外,-qhead 的非标准选项。

以上是关于我必须在 unix 中用其内容的第一个单词重命名所有文件名的主要内容,如果未能解决你的问题,请参考以下文章

通过在 SAS 中用另一个前缀替换前缀来动态重命名变量

git:重命名文件并更改文件内容

使用 PowerShell 重命名 zip 以匹配其内容

在 UNIX 中重命名批处理文件

重命名 Unix 命令中的正则表达式

在 Unix 中根据模式重命名多个文件