首页 > 解决方案 > 如何遍历文件以创建一系列新的 .docx 文件?

问题描述

背景

我有一个file像这样的文件名:

something.txt
another.cpp
whoa.cxx
...

我想在当前目录中为每个文件创建一个相应的文本文件:

./something.txt.docx
./another.cpp.docx
./whoa.cxx.docx

这应该是一个非常简单的操作......但是我正在考虑尝试的一系列命令在逻辑上似乎没有意义:

尝试的解决方案

  1. 管猫接触:cat file | touch <not sure what to put here>.docx

    一个。如您所见,我不知道如何将 .docx 扩展名附加到我遇到的每个文件名,而且我不知道以这种方式巧妙地执行正则表达式附加的方法。触摸手册页在这方面似乎也没有帮助。

  2. 管 cat 进入 xargs touch:cat file | xargs -I{} touch {}.docx

    一个。我的意图是使用-I 选项逐字附加 .docx 以获得上面看到的结果。以下是 -I 的预期功能:

    -I 替换-str

    用从标准输入读取的名称替换初始参数中出现的 replace-str。此外,未加引号的空格不会终止输入项;相反,分隔符是换行符。暗示 -x 和 -L 1。

    这引发了错误xargs: .docx: No such file or directory

问题

如何遍历文件并为文件中的每一行创建相应的 .docx?

标签: linuxcatxargs

解决方案


这可以通过以下命令来实现

ls -1rt | awk '{ print "touch" $0 ".docx" }' | 重击


推荐阅读