gpt4 book ai didi

bash - 如何从 bash 中的特定点创建新行?

转载 作者:行者123 更新时间:2023-11-29 09:29:20 24 4
gpt4 key购买 nike

我想从“{”创建一个新行。 '{' 之后的任何句子都需要换行。

当前输出:

void logical_jmp(int loc) { int branch_jmp(int loc) {

要求的输出:

void logical_jmp(int loc)

int branch_jmp(int loc)

这是任务:查找给定目录的所有 C 函数。您的脚本将必须递归地查看目录并找到所有 .c 文件并输出其中包含的函数。

我的代码:

dirName=$1

if [[ -d $dirName ]]; then

cfile=$(find $dirName -type f -name "*.c"|sort -n)

for i in $cfile; do
echo $i:
if grep -q -E "^void|^int|^FILE*" $i;
then
func=$(cat $i |grep -E "^void|^int|^FILE*"|sed 's/[{$] */\n/g')
echo $func
echo
else
echo Unable to find any functions
fi
done
else
echo file is not a directory
fi

最佳答案

简单的 awk 可能对您有所帮助。

awk '{gsub(/{ |{/,ORS)} 1' Input_file

关于bash - 如何从 bash 中的特定点创建新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49461050/

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