shell - 有没有更好的方法在终端中运行重复命令?
问题描述
我需要使用不同的文件名运行重复命令来获取标题。但是,我需要运行每个文件。
dfits *.fit | grep MSBTITLE
有什么命令可以运行多个文件并显示我需要的文件名和标题吗?
解决方案
grep
不知道文件名,因此您只能看到匹配的行,但看不到它们最初来自哪个文件。在你的情况下,我会写一个明确的循环:
for file in *.fit
do
if titleline=$(dfits $file|grep MSBTITLE)
then
echo $file : $titleline
fi
done
由于dfits
已经在其输出中隐藏了文件名,我们将 grep 的输出存储到一个变量中,如果匹配,则将此行与文件名一起输出。
推荐阅读
- ibm-cloud-private - 等待配置calico节点到节点mesh-ICP 2.1.0.2安装
- linux - 以太网连接在重启时断开,在 Linux VM(虚拟机)上
- angularjs - tether-shepherd 与 Angular 版本 1.7.0 不兼容
- python - 在 Python 中创建和组合大量图像 - 错误:打开的文件过多:
- python - connectionstyle arc3 (FancyArrowPatch) 和 path CURVE3 - 两条二次贝塞尔曲线,不同的结果?
- java - 使用 byte[] 键从 HashMap 中获取值
- html - 如何在使用 css 时使标题图像居中?
- html - 删除 img src 中的填充
- c# - Automapper 实例配置尚未在 xUnit 测试中初始化
- create-react-app - create-react-app 圈子构建失败