小编use*_*606的帖子

在目录中递归查找和替换文件名

我想重命名以123_xxx.txtto 开头的文件夹中的所有文件xxx.txt.

例如,我的目录有:

123_xxx.txt
123_yyy.txt
123_zzz.txt

I want to rename all files as:

xxx.txt
yyy.txt
zzz.txt
Run Code Online (Sandbox Code Playgroud)

我在这个论坛上看到了一些有用的bash脚本,但我仍然很困惑如何将它用于我的要求.

让我们假设我使用:

for file in `find -name '123_*.txt'` ; do mv $file {?.txt} ; done
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?

bash

37
推荐指数
5
解决办法
5万
查看次数

分段故障处理

我有一个应用程序,我用它来捕获任何分段错误或ctrl-c.使用下面的代码,我能够捕获分段错误,但是一次又一次地调用处理程序.我怎么能阻止他们.为了您的信息,我不想退出我的申请.我只需要注意释放所有损坏的缓冲区.

可能吗?

void SignalInit(void )
{

struct sigaction sigIntHandler;

sigIntHandler.sa_handler = mysighandler;
sigemptyset(&sigIntHandler.sa_mask);
sigIntHandler.sa_flags = 0;
sigaction(SIGINT, &sigIntHandler, NULL);
sigaction(SIGSEGV, &sigIntHandler, NULL);

}
Run Code Online (Sandbox Code Playgroud)

和处理程序是这样的.

void mysighandler()
{
MyfreeBuffers(); /*related to my applciation*/
}
Run Code Online (Sandbox Code Playgroud)

这里对于Segmentation故障信号,处理程序被多次调用,很明显,MyfreeBuffers()给了我释放已经释放的内存的错误.我只想释放一次,但仍然不想退出应用程序.

请帮忙.

c linux signals signal-handling

33
推荐指数
4
解决办法
4万
查看次数

为什么所有ARM引导加载程序都有汇编代码?

用汇编语言编写可以减少代码大小和执行时间.但是假设我有足够的记忆和足够的时间.我可以只使用C代码并启动设备吗?我的意思是,从开机,直接运行C代码.我对ARM处理器特别感兴趣.

assembly arm bootloader

4
推荐指数
1
解决办法
3064
查看次数

搜索特定的字符串模式并以递归方式将其替换为小写

我必须搜索包含的字符串Aaa*.c并以aaa*.c递归方式替换它.

我在目录中有数百个文件,其中包含特定模式(此.c可以是字符串的扩展名或字符串之间),我必须在小写字母中替换此类字符串

我正在尝试使用awk'{print tolower($ 0)或tr但无法搜索特定模式并在此处应用.

谢谢

bash shell perl

0
推荐指数
1
解决办法
658
查看次数

标签 统计

bash ×2

arm ×1

assembly ×1

bootloader ×1

c ×1

linux ×1

perl ×1

shell ×1

signal-handling ×1

signals ×1