首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重命名zgrep结果的文件

重命名zgrep结果的文件
EN

Stack Overflow用户
提问于 2017-04-26 11:06:36
回答 2查看 51关注 0票数 4

问题:

我有几个.gz文件,如testfile1.gztestfile2.gz等。

我正在尝试zgrep每个文件,并将输出重定向到同名但没有扩展名的新文件。我怎么能这么做?

我尝试过的:

我尝试了以下操作,但这并没有删除扩展(.gz):

代码语言:javascript
复制
for file in hello*; do zgrep 'line' $file > $file.TEST ; done
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-26 11:31:36

你可以试试:

代码语言:javascript
复制
for file in hello*.gz; do
    zgrep 'line' > "${file%.gz}.TEST"
done

从TLDP到操纵弦

${string%substring} #从$substring的后面删除最短匹配的$string。

票数 3
EN

Stack Overflow用户

发布于 2017-04-26 11:09:35

basename命令是您的朋友:

for file in hello*; do zgrep 'line' "$file" > $(basename "$file" .gz); done

或者,只需从输出文件的名称中删除“.gz”:

for file in hello*; do zgrep 'line' "$file" > $(sed 's/.gz//' <<< "$file"); done

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43632420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档