将以.log结尾的文件追加到没有.log

时间:2016-07-18 12:23:29

标签: linux shell command-line

说我有一堆文件:

blar23123.log
blar23131.log
blar11111.txt
blar55532.log

我想将.log中结尾的所有内容输出到没有.log。

的文本文件中

预期输出(文本文件):

 blar23123
 blar23131
 blar55532

我有一个非常粗略的方法,我创建文件一个没有.log的新的单独文件。但是当我处理100000个文件的数据集时,它可能是一个详尽的工作,需要一段时间。

我一直在做什么:

for file in *.log; do cp -- "$file" "${file%%.log}"; done

然后我一直在列出它们,然后将它们附加到txt文件

1 个答案:

答案 0 :(得分:1)

我想你想要:

for file in *.log ; do
    echo "${file%.*}"
done > output.txt

${file%.*}是所谓的parameter expansion。在这种情况下,它会删除点的最短匹配,然后从$file的末尾删除任意字符。这将有效地删除文件扩展名。