Bash 用文件的第一行重命名一个文件';s内容(非批量)

Bash 用文件的第一行重命名一个文件';s内容(非批量),bash,terminal,mv,Bash,Terminal,Mv,我已经搜索了很多次,找到了批处理的答案,但是我正在寻找一个简单的答案,希望我可以在命令行中输入,用于更改1个文件的名称并用文件第一行的内容替换名称 对于文件foo.txt 文件内容的第一行:123 将foo.txt重命名为123.txt 非常感谢 mv fileName $(head -1 fileName).txt head-1 fileName将检索文件的第一行,将其放在$()中,允许执行该代码,结果(文件的第一行)将成为mv命令的第二个参数 在您的示例中,您将看到: mv foo.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
head-1 fileName
将检索文件的第一行,将其放在
$()
中,允许执行该代码,结果(文件的第一行)将成为
mv
命令的第二个参数

在您的示例中,您将看到:

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

请发布您的代码请发布您的代码谢谢!这对我有用:mv foo.txt$(head-1 foo.txt)。txtfileName应该替换为文件名。
foo.txt
已经存在了吗?@Cath很高兴听到这个消息!如果答案有帮助,请随意接受!注意,
head-1
被认为是过时的,只支持向后兼容;新脚本应该使用
head-n1
。谢谢!这对我有用:mv foo.txt$(head-1 foo.txt)。txtfileName应该替换为文件名。
foo.txt
已经存在了吗?@Cath很高兴听到这个消息!如果答案有帮助,请随意接受!注意,
head-1
被认为是过时的,只支持向后兼容;新脚本应改用
head-n1