gpt4 book ai didi

shell - 如何使用 shell 脚本切断所有子文件夹中文本文件中每一行的尾部?

转载 作者:行者123 更新时间:2023-12-04 19:05:26 27 4
gpt4 key购买 nike

我有这个项目,

Parent
|-ChildA
|-ChildB
|- ....
|-ChildZ
每个子目录包含 requirements.txt有这样的python包信息,
packageA==0.1
packageB==5.9.3
...
packageZ==2.9.18.23
我想切断所有版本信息,以便输出文件,
packageA
packageB
...
packageZ
我在尝试,
cat requirements.txt | grep "==" | cut -d "=" -f 1
但它不会迭代所有子目录并且不会保存。我怎样才能做到?
谢谢!
*我正在使用 ubuntu20.04

最佳答案

为了对所有 requirements.txt 执行命令文件,你需要遍历所有子目录,你可以使用这个简单的脚本来做到这一点:

#!/bin/sh

for child in ./Child* ; do
cat "$child/requirements.txt" | grep "==" | cut -d "=" -f 1
done
现在,如果您希望“保存”每个文件的新版本,您可以使用 > 将每个命令输出重定向到文件。运算符(operator)。使用此运算符将覆盖您的文件,因此我建议您将输出重定向到新文件。
这是带有重定向输出的脚本:
#!/bin/sh

for child in ./Child* ; do
cat "$child/requirements.txt" | grep "==" | cut -d "=" -f 1 > $child/cut-requirements.txt
done

关于shell - 如何使用 shell 脚本切断所有子文件夹中文本文件中每一行的尾部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70993789/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com