我有一个巨大的文件(超过 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) 我团队中的大多数人都有 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) 我需要生成近 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 条记录并且进程被自动杀死