小编anu*_*rag的帖子

如何替换列中的文本

我有一个巨大的文件(超过 2 GB),其中的数据如下所示。

12,324,32342,E:fsdsf,23432,34534,45345,324

13,3224,342,E:werwefsdsf,23432,34534,45345,324

121,3244,33442,E:,23432,34534,45345,324
Run Code Online (Sandbox Code Playgroud)

在这里,我需要在遇到E:空格的任何地方替换第 4 列的所有出现"",但在 之后找到字符串的任何地方E:都应保持原样。

预期输出将是:

12,324,32342,E:fsdsf,23432,34534,45345,324

13,3224,342,E:werwefsdsf,23432,34534,45345,324

121,3244,33442,,23432,34534,45345,324
Run Code Online (Sandbox Code Playgroud)

text-processing regular-expression

7
推荐指数
1
解决办法
2514
查看次数

sudo su 之前的确认

我团队中的大多数人都有 sudo 访问权限。但我仍然希望他们在执行 sudo su 之前确认。如果用户按 Y,则允许他以 root 身份返回到他自己的主目录。我尝试了下面的代码,但是当用户按下任何其他键时,他仍然可以以 root 身份登录。请帮忙

!/bin/bash

echo -e "You are entering into high security env."

echo -e "If You are still not sure about the purpose, please logout of root user immediately."

echo -e "Contact admin immediately in case of any doubt."

sleep 1
echo -e "Press Y if you still want to enter as a root user"

read ch

case $ch in

    'Y'|'y' )

                echo -e "Risk is all yours. PT team welcome …
Run Code Online (Sandbox Code Playgroud)

security shell-script

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

批量数据生成

我需要生成近 10 亿条唯一整数记录。我尝试过 awk,但它没有生成超过 500 万条记录。以下是我迄今为止尝试过的-

 awk -v loop=10000000000 -v range=10000000000 'BEGIN{
  srand()
  do {
    numb = 1 + int(rand() * range)
    if (!(numb in prev)) {
       print numb
       prev[numb] = 1
       count++
    }
  } while (count<loop)
}' 
Run Code Online (Sandbox Code Playgroud)

但它没有生成超过 599160237 条记录并且进程被自动杀死

awk regular-expression

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