【问题标题】:Rename one file with the first line of the file's contents (not batch)用文件内容的第一行重命名一个文件(不是批处理)
【发布时间】:2016-07-01 17:22:44
【问题描述】:

我已经搜索了很多,并找到了批处理的答案,但我正在寻找一个简单的答案,希望可以在命令行中输入,用于更改 1 个文件的名称并将名称替换为文件第一行的内容。

对于文件foo.txt
文件内容的第一行:123
foo.txt重命名为123.txt

非常感谢!

【问题讨论】:

  • 请发布您的代码

标签: bash terminal mv


【解决方案1】:
mv fileName $(head -1 fileName).txt

head -1 fileName 将检索文件的第一行,将其放在$() 中允许代码执行,结果(文件的第一行)将成为mv 命令的第二个参数。

在您的示例中,您正在查看:

mv foo.txt $(head -1 foo.txt).txt

【讨论】:

  • 谢谢!这对我有用: mv foo.txt $(head -1 foo.txt).txt
  • fileName 应替换为您的文件名。 foo.txt 是否已经存在?
  • @Cath 很高兴听到这个消息!如果有帮助,请随时接受答案!
  • 请注意,head -1 被认为已过时,仅支持向后兼容;新脚本应该使用head -n 1
猜你喜欢
  • 1970-01-01
  • 2017-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-05
  • 2019-06-08
  • 2018-06-23
  • 2014-02-26
相关资源
最近更新 更多