标签: scripting

sed:正则表达式输入缓冲区长度大于 INT_MAX

我有一个大文件,正在对其进行各种操作,并且刚刚出现此错误。我尝试用谷歌搜索它,但没有找到任何结果。

\n\n
sed: regex input buffer length larger than INT_MAX\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的目的是引用每一行,附加一个逗号,\n然后用方括号将整个文件括起来\n(作为一行)。\xc2\xa0\n例如,输入

\n\n
The quick brown fox\njumps over\nthe lazy dog.\n
Run Code Online (Sandbox Code Playgroud)\n\n

应该产生以下结果

\n\n
["The quick brown fox","jumps over","the lazy dog.",]\n
Run Code Online (Sandbox Code Playgroud)\n\n

假设输入文件\xe2\x80\x99t 不包含任何引号。

\n\n

我运行的代码是这样的:

\n\n
cat "${FILE}" | sed -e \'s/.*/"&",/\' | sponge "${FILE}"\n\ntruncate --size=-1 "${FILE}"\n\ncat "${FILE}" |  sed -z \'s/.*/[&]/\' | tr --delete \'\\n\' | sponge "${FILE}"\n
Run Code Online (Sandbox Code Playgroud)\n\n

sed版本:

\n\n
sed --version\nsed (GNU sed) 4.5\n
Run Code Online (Sandbox Code Playgroud)\n\n

有什么想法吗?

\n

scripting sed text-processing regular-expression

-1
推荐指数
1
解决办法
3018
查看次数

我有四个文件,每个文件 10 行,如何获得如下输出

我有4个文件。我需要检查所有文件的行数是否相同。

如果行数不同,我需要检测它并输出,例如:

#file1 - 10 lines, file2 - 9 lines, file3 - 10 lines, file4 - 10 lines
Line are miss matched
Number of lines 10 = 9 = 10 = 10
Run Code Online (Sandbox Code Playgroud)

如果它们相等,我想逐行合并文件,如下所示:

文件:

#file1
10 
12
11

#file2
Arun
kamal
babu

#file3
300
200
400

#file4
spot1
spot4
spot5
Run Code Online (Sandbox Code Playgroud)

输出:

Set1
10
Arun
300
spot1

Set2
12
kamal
200
spot4

Set3
11
babu
400
spot5
Run Code Online (Sandbox Code Playgroud)

我的代码:

#

id_name=`cat file2`
echo $id_name

id_list=`cat file1`
echo $id_list

#

id_count=`cat file3`
echo …
Run Code Online (Sandbox Code Playgroud)

scripting perl shell-script

-2
推荐指数
2
解决办法
180
查看次数

杰森。如何在后面加一句话:

以下是我从 json 文件中提取的内容:

 },
   {
    "name": "asdasd",
    "script": "dsad.js",
    "merge_logs": ture,
    "error_file": "/ofghfghgfh.log",
    "out_file": "/fghgfhfgg",
    "cwd": "",
    "autorestart": true,
    "log_date_format"  : "YYYY-MM-DD HH:mm Z",
    "env": {
    "NODE_ENV": "desa",
    "KEY": "VtZOiz0Qc4afFs6j+h2r"
    }
  }]
Run Code Online (Sandbox Code Playgroud)

我想在“KEY”之后添加一个短语:替换它现在拥有的值。

我试过“sed”,但我把它加到了行尾

 sed '/KEY/s/$/1234/g' .json
Run Code Online (Sandbox Code Playgroud)

我需要使用“-i”选项直接更改文件。

scripting sed text-processing json

-2
推荐指数
1
解决办法
123
查看次数

睡眠,然后才运行脚本

我希望我的电脑等待 5 秒钟,然后运行一个脚本

sleep 5 | python3 resource.py 
Run Code Online (Sandbox Code Playgroud)

会发生什么 - 脚本被执行,然后是延迟。

如何在我的脚本执行之前正确等待/延迟 5 秒

shell scripting bash shell-script

-3
推荐指数
1
解决办法
1042
查看次数

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

检查命令行中的数字是否为 2 的幂

我无法制作一个 bash 脚本来检查命令行中的输入数字是否为 2 的幂

输入

# ./pow2script.sh xyzdf 4 8 12 -2 USAD
Run Code Online (Sandbox Code Playgroud)

期望的输出:期望的输出应该在单独的行上

4
8
Run Code Online (Sandbox Code Playgroud)

因为只有 4 是 2^2 而 8 是 2^3

pow2script.sh 的内容

#!/bin/bash

function is_power_of_two () {
    declare -i n=$1
    (( n > 0 && (n & (n - 1)) == 0 ))
}

for number; do
    if is_power_of_two "$number"; then
        printf "%d\n" "$number"
    fi
done
Run Code Online (Sandbox Code Playgroud)

scripting bash

-5
推荐指数
2
解决办法
4960
查看次数