【发布时间】:2016-07-01 17:22:44
【问题描述】:
我已经搜索了很多,并找到了批处理的答案,但我正在寻找一个简单的答案,希望可以在命令行中输入,用于更改 1 个文件的名称并将名称替换为文件第一行的内容。
对于文件foo.txt
文件内容的第一行:123
将foo.txt重命名为123.txt
非常感谢!
【问题讨论】:
-
请发布您的代码
我已经搜索了很多,并找到了批处理的答案,但我正在寻找一个简单的答案,希望可以在命令行中输入,用于更改 1 个文件的名称并将名称替换为文件第一行的内容。
对于文件foo.txt
文件内容的第一行:123
将foo.txt重命名为123.txt
非常感谢!
【问题讨论】:
mv fileName $(head -1 fileName).txt
head -1 fileName 将检索文件的第一行,将其放在$() 中允许代码执行,结果(文件的第一行)将成为mv 命令的第二个参数。
在您的示例中,您正在查看:
mv foo.txt $(head -1 foo.txt).txt
【讨论】:
foo.txt 是否已经存在?
head -1 被认为已过时,仅支持向后兼容;新脚本应该使用head -n 1。