Linux脚本-将当前文件夹下所有包含main函数的.c文件提取出来
实现一个Linux脚本,该脚本使用 for 循环遍历当前目录下的所有 .c 文件。
对于每个 .c 文件,使用 grep 命令来查找是否包含字符串 “main”。
如果该 .c 文件包含 “main”,则输出到/home/majn/llvm_project/extract_main目录下。
#!/bin/bash# 目标目录
TARGET_DIR="/home/majn/llvm_project/extract_main"# 创建目标目录,如果不存在的话
mkdir -p "$TARGET_DIR"# 遍历当前目录下的所有 .c 文件
for file in *.c; do# 使用 grep 命令查找是否包含字符串 "main"if grep -q "main" "$file"; then# 如果找到,将该 .c 文件复制到目标目录下cp "$file" "$TARGET_DIR/"echo "Copied $file to $TARGET_DIR"elseecho "$file does not contain 'main'"fi
done
这里做了以下几件事:
- 使用
mkdir -p创建目标目录(如果不存在)。 - 使用
for循环遍历当前目录下的所有.c文件。 - 使用
grep -q查找每个文件中是否包含字符串"main"。 - 如果包含,使用
cp命令将文件复制到目标目录。
保存这个脚本,给它可执行权限,然后运行它:
chmod +x your_script.sh
./your_script.sh
注意:请确保你有写入 /home/majn/llvm_project/extract_main 目录的权限,并且在运行脚本之前要小心,以确保不会覆盖重要文件。如果需要,先在一个测试目录中运行这个脚本。
上述脚本执行报错!!!
./main.sh
-bash: ./main.sh: /bin/bash^M: bad interpreter: No such file or directory
这个错误通常是因为脚本文件中含有 Windows 风格的换行符(\r\n),而 Linux 期望的是 UNIX 风格的换行符(\n)。当你在 Windows 系统中创建或编辑文本文件并将其转移到 Linux 系统时,这种情况可能会发生。
你可以使用 dos2unix 工具来转换文件的换行符。首先,你需要安装 dos2unix:
sudo apt update
sudo apt install dos2unix # 在基于 Debian 的系统中
或者
yum install dos2unix # 在基于 RedHat 的系统中
然后,你可以运行下面的命令来转换脚本文件:
dos2unix main.sh
这会把 main.sh 中的所有 Windows 风格的换行符转换为 UNIX 风格的换行符。
然后,你应该能够正常运行脚本:
chmod +x main.sh
./main.sh
如果你没有 dos2unix 工具,也可以使用 sed 来进行转换:
sed -i 's/\r$//' main.sh
这行 sed 命令会查找并移除文件中所有行尾的 \r 字符。之后,你应该能够正常执行该脚本。
相关文章:
Linux脚本-将当前文件夹下所有包含main函数的.c文件提取出来
实现一个Linux脚本,该脚本使用 for 循环遍历当前目录下的所有 .c 文件。 对于每个 .c 文件,使用 grep 命令来查找是否包含字符串 “main”。 如果该 .c 文件包含 “main”,则输出到/home/majn/llvm_project/extract_main目录下。 #!/bin/bas…...
Spring依赖注入(DI)
目录 构造器注入 set注入 拓展注入 bean的作用域 Singleton Prototype Dependency Injection 依赖 : 指Bean对象的创建依赖于容器 . Bean对象的依赖资源 . 注入 : 指Bean对象所依赖的资源 , 由容器来设置和装配 . 构造器注入 具体实现:SpringIOC创建对象的…...
论文笔记: 深度学习速度模型构建的层次迁移学习方法 (未完)
摘要: 分享对论文的理解, 原文见 Jrome Simon, Gabriel Fabien-Ouellet, Erwan Gloaguen, and Ishan Khurjekar, Hierarchical transfer learning for deep learning velocity model building, Geophysics, 2003, R79–R93. 这次的层次迁移应该指从 1D 到 2D 再到 3D. 摘要 深…...
苹果为 Vision Pro 头显申请游戏手柄专利
苹果Vision Pro 推出后,美国专利局公布了两项苹果公司申请的游戏手柄专利,其中一项的专利图如下图所示。据 PatentlyApple 报道,虽然申请专利并不能保证苹果公司会推出游戏手柄,但是苹果公司同时也为游戏手柄申请了商标࿰…...
【数据结构】多叉树转换为二叉树-c++代码实现-POJ 3437 Tree Grafting
文章目录 写这个题目的原因寻找提交网址题目解决思路AC代码成功AC 写这个题目的原因 1、今天在看王道考研数据结构的课(虽然我要保研,但是因为这些看保研面试的时候会问,所以看一下嘞orz),看到了这个多叉树转换为二叉…...
ASP.NET Core 中基于 Controller 的 Web API
基于 Controller 的 Web API ASP.NET Wep API 的请求架构 客户端发送Http请求,Contoller响应请求,并从数据库读取数据,序列化数据,然后通过 Http Response返回序列化的数据。 ControllerBase 类 Web API 的所有controllers 一般…...
iOS系统修复软件 Fix My iPhone for Mac
Fix My iPhone for Mac是一款iOS系统恢复工具。修复您的iPhone卡在Apple徽标,黑屏,冻结屏幕,iTunes更新/还原错误和超过20个iOS 12升级失败。这个macOS桌面应用程序提供快速,即时的解决方案来修复您的iOS系统问题,而不…...
Git企业开发控制理论和实操-从入门到深入(七)|企业级开发模型
前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…...
15. 卡牌游戏
目录 题目 思路 C整体代码(含详细注释) 题目 Description 小张在玩一种卡牌游戏,牌组由张牌组成,其中张上写有数字各一张,其余张上全部是数字。 现在牌组经过随机打乱后,小张拿走其中张牌作为手牌&#…...
vue使用打印组件print-js
项目场景: 由于甲方要求,项目需要打印二维码标签,故开发此功能 开发流程 安装包:npm install print-js --saveprint-js的使用 <template><div id"print" ref"print" ><p>打印内容<p&…...
20230830比赛总结
分数 预估分数: 100 100 [ 0 , 20 ] 100 [ 300 , 320 ] 100100[0,20]100[300,320] 100100[0,20]100[300,320] 实际分数: 100 100 10 100 310 10010010100310 10010010100310 反思 B 只是粗略观察表就急于写决策单调性优化,写完后…...
DNS指向别名还是IP
现在有一台服务器dbprod126,ip是172.22.100.4 现在有一个需求,需要在dns中对dbprod126建一个别名wondadb3r的记录,也就是ping wondadb3r的时候显示的是dbprod126的ip,目前有两种方法,主要使用方法1指向别名…...
【考研数学】概率论与数理统计 —— 第二章 | 一维随机变量及其分布(1,基本概念与随机变量常见类型)
文章目录 引言一、一维随机变量及其分布1.1 随机变量1.2 分布函数 二、随机变量常见类型及分布2.1 离散型随机变量2.2 连续型随机变量及概率密度函数 写在最后 引言 暑假接近尾声了,争取赶一点概率论部分的进度。 一、一维随机变量及其分布 1.1 随机变量 设随机试…...
CSS判断手机暗黑模式
手机有个功能到了晚上会自动变成深色也就是暗黑模式.这种情况下网页会自动变颜色.如果想自由控制暗黑模式下的html样式的话,可以用如下方式: media (prefers-color-scheme: dark) {/*html, body {*//*filter: invert(1) hue-rotate(180deg);*//*}*/.maill{margin-left: 0;marg…...
【java中的Set集合】HashSet、LinkedHashSet、TreeSet(最通俗易懂版!!)
目录 一、HashSet集合 1.HashSet集合的特点 2.HashSet常用方法 二、LinkedHashSet集合 LinkedHashSet集合的特点 三、TreeSet集合 1.TreeSet集合的特点 2.TreeSet的基本使用 四、HashSet、LinkedHashSet、TreeSet的使用场景 五、list和set集合的区别 一、HashSet集合 …...
python中的文件操作
我们平常对文件的基本操作,大概可以分为三个步骤(简称文件操作三步走): ① 打开文件 ② 读写文件 ③ 关闭文件 【注意事项】 注意:可以只打开和关闭文件,不进行任何读写 文件打开 open函数ÿ…...
spark支持深度学习批量推理
背景 在数据量较大的业务场景中,spark在数据处理、传统机器学习训练、 深度学习相关业务,能取得较明显的效率提升。 本篇围绕spark大数据背景下的推理,介绍一些优雅的使用方式。 spark适用场景 大数据量自定义方法处理、类sql处理传统机器…...
代码随想录打卡—day52—【子序列问题】— 8.31 最大子序列
共性 做完下面三题,发现三个的dp数组中i都是以 i 为结束的字串。 1 300. 最长递增子序列 300. 最长递增子序列 AC: class Solution { public:int dp[10010]; // 表示以i结束的子序列最大的长度/*if(nums[j] > nums[i])dp[j] max(dp[j],dp[i] …...
gcc4.8.5升级到gcc4.9.2
第1步:获取repo [rootlocalhost SPECS]# wget --no-check-certificate https://copr.fedoraproject.org/coprs/rhscl/devtoolset-3/repo/epel-6/rhscl-devtoolset-3-epel-6.repo -O /etc/yum.repos.d/devtoolset-3.repo --2021-12-07 20:53:26-- https://copr.fedo…...
Golang 中的 archive/zip 包详解(三):常用函数
Golang 中的 archive/zip 包用于处理 ZIP 格式的压缩文件,提供了一系列用于创建、读取和解压缩 ZIP 格式文件的函数和类型,使用起来非常方便,本文讲解下常用函数。 zip.OpenReader 定义如下: func OpenReader(name string) (*R…...
别再死记公式了!图解STM32 PWM生成与频率测量原理(以20Hz/50%占空比方波为例)
图解STM32 PWM核心原理:从水桶模型到实战波形测量 想象一下你正在用漏水的水桶给花园浇水——水桶每滴完500毫升就自动重新加满,而你通过控制水龙头开关的时间比例来调节湿润程度。这恰恰是STM32定时器生成PWM波形的底层逻辑。对于刚接触嵌入式开发的工程…...
Kindle Comic Converter终极指南:解锁电子墨水屏漫画阅读体验
Kindle Comic Converter终极指南:解锁电子墨水屏漫画阅读体验 【免费下载链接】kcc KCC (a.k.a. Kindle Comic Converter) is a comic and manga converter for ebook readers. 项目地址: https://gitcode.com/gh_mirrors/kc/kcc 你是否曾尝试在Kindle或Kobo…...
UrsPahoMqttClient 心跳问题解决指南——Paho 底层已自动处理,设好 KeepAlive 就行
UrsPahoMqttClient 心跳问题解决指南 ——Paho 底层已自动处理,设好 KeepAlive 就行 问题 用 UrsPahoMqttClient 做 MQTT 连接时,心跳 PingReq 报文怎么发送?目的是保持连接,防止被 Broker 踢下线。 结论 不需要手动发心跳&#x…...
从F103RBT6到ZET6:手把手教你搞定不同容量STM32的电源与特殊引脚设计
从F103RBT6到ZET6:STM32电源设计与特殊引脚避坑指南 在嵌入式硬件设计中,STM32F103系列因其出色的性价比和丰富的资源成为工程师的首选。但不同容量型号间的细微差异往往成为项目中的"隐形杀手"。本文将深入剖析中容量RBT6与大容量ZET6在电源架…...
函数依赖的核心概念解析[数据库原理]
函数依赖的定义与核心概念 函数依赖(Functional Dependency,简称FD)是关系数据库理论中用于描述属性间数据约束的核心概念。它定义了一个关系模式(Relation Schema)中,一个属性(或属性组&#…...
8B模型榨出极限战力!本地LLM胜率狂飙86%
今天我们要讲的是一个工程方法,通过这个Forge框架来增强本地运行的8B模型,让这个小模型可以在复杂的agent任务上面有更好的表现。Q:本地小模型在做这些复杂任务的时候,经常会出现哪些让人抓狂的问题? A:在本…...
终极解决方案:如何一次性安装所有Visual C++运行库合集
终极解决方案:如何一次性安装所有Visual C运行库合集 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 还在为Windows系统频繁弹出"缺少MSVCP140.…...
3步解锁PowerToys文本提取器:Windows用户的智能OCR终极指南
3步解锁PowerToys文本提取器:Windows用户的智能OCR终极指南 【免费下载链接】PowerToys Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows 项目地址: https://gitcode.com/GitHub_Trending/po/Powe…...
如何用Python自动化脚本轻松抢到大麦网演唱会门票:终极指南
如何用Python自动化脚本轻松抢到大麦网演唱会门票:终极指南 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper 还在为抢不到心仪演唱会门票而烦恼吗?当周杰伦、五月天等热门演…...
深度学习编译器优化:CNN与MHA块的性能差异与实践指南
1. 深度学习编译器优化概述在深度学习模型部署的实际场景中,我们常常面临一个关键矛盾:训练框架(如PyTorch)的动态图特性虽然灵活,但在推理时会产生显著的性能开销。这正是深度学习编译器技术大显身手的领域——通过静…...
