我正在 docker 容器中运行 solr
我的码头工人ENTRYPOINT是$SOLR_HOME/bin/solr start ${options}
目前,当我运行docker stop <container Id>它的终止进程但 solr 错误停止时
为了正确停止 Solr,我们需要运行:$SOLR_HOME/bin/solr stop
如何配置 docker在执行时调用solr stop命令?docker stop <container Id>
我正在处理一个bash脚本,我想并排打印两个文件.一个文件填充IPv4地址,另一个文件填充IPv6地址.我试过了,
pr -mtw $WIDTH $FILE1 $FILE2
Run Code Online (Sandbox Code Playgroud)
但它削减了产量.
??????IPV4?????????????????????????IPV6??????????????????
224.0.0.1 2001:0db8:0000:
192.0.2.128 ff02::1
192.0.2.128 2001:0db8:0000:
192.0.2.128 ::
2001:0db8:0000:
2001:db8:0:0:0:
2001:db8::ff00:
0000:0000:0000:
::1
fe80::
::ffff:192.0.2.
::192.0.2.128
Run Code Online (Sandbox Code Playgroud)
我也试过了,
paste $FILE1 $FILE2 | awk '$1=$1' OFS='\t '
Run Code Online (Sandbox Code Playgroud)
而输出是,
??????IPV4?????????????????????????IPV6??????????????????
224.0.0.1 2001:0db8:0000:0042:0000:8a2e:0370:7334
192.0.2.128 ff02::1
192.0.2.128 2001:0db8:0000:0000:0000:ff00:0042:8329
192.0.2.128 ::
2001:0db8:0000:0000:0000:ff00:0042:8329
2001:db8:0:0:0:ff00:42:8329
2001:db8::ff00:42:8329
0000:0000:0000:0000:0000:0000:0000:0001
::1
fe80::
::ffff:192.0.2.128
::192.0.2.128
Run Code Online (Sandbox Code Playgroud)
我希望输出是这样的,
??????IPV4?????????????????????????IPV6??????????????????
224.0.0.1 2001:0db8:0000:0042:0000:8a2e:0370:7334
192.0.2.128 ff02::1
192.0.2.128 2001:0db8:0000:0000:0000:ff00:0042:8329
192.0.2.128 ::
2001:0db8:0000:0000:0000:ff00:0042:8329
2001:db8:0:0:0:ff00:42:8329
2001:db8::ff00:42:8329
0000:0000:0000:0000:0000:0000:0000:0001
::1
fe80::
::ffff:192.0.2.128
::192.0.2.128
Run Code Online (Sandbox Code Playgroud)
FILE1:
224.0.0.1
192.0.2.128
192.0.2.128
192.0.2.128
Run Code Online (Sandbox Code Playgroud)
FILE2:
2001:0db8:0000:0042:0000:8a2e:0370:7334
ff02::1
2001:0db8:0000:0000:0000:ff00:0042:8329
::
2001:0db8:0000:0000:0000:ff00:0042:8329 …Run Code Online (Sandbox Code Playgroud) 当我尝试使用sed在OSX中插入新行时,我收到以下错误
在命令结尾处\后的额外字符
当前文件内容是
{
'localhost' => ['domain_name' => 'default', 'domain_type' => 'mobile'],
}
Run Code Online (Sandbox Code Playgroud)
预期的内容是
{
'localhost' => ['domain_name' => 'default', 'domain_type' => 'mobile'],
'dev.ops' => ['domain_name' => 'default', 'domain_type' => 'mobile'],
}
Run Code Online (Sandbox Code Playgroud)
我正在使用的命令是
sed -i '' "/localhost/a\ 'dev.ops' => ['domain_name' => 'default', 'domain_type' => 'web']," FILENAME
Run Code Online (Sandbox Code Playgroud) 给定目录结构:
/Users/doge/very/amaze.js
/usr/local/bin/wow
/node_modules/
/css/
/css/somefile.css
/lib/
/somelib/
/anotherlib/somedir/finallib.js
/index.html
/somefile.test
/somelib/file.html
/firstdir/seconddir/file.css
/node_modules.txt
Run Code Online (Sandbox Code Playgroud)
如何使用 extglob 只排除 node_modules 目录?
/!(node_modules)
Run Code Online (Sandbox Code Playgroud)
上面的内容匹配根级别的所有内容,除了 node_modules 目录和文本文件(我们想要包含)之外。它也不会递归地遵循匹配目录。
/!(node_modules)/**
Run Code Online (Sandbox Code Playgroud)
这个更接近,但它也排除了根目录中的所有文件。即使它包含根级别的文件,我猜它也会排除 node_modules.txt 文件。
证明这一点的一个非常简单的方法是运行
mkfifo /tmp/a
read -t 1 a < /tmp/a
Run Code Online (Sandbox Code Playgroud)
阅读永远不会返回。
Bash 手册说:此选项仅在 read 从终端、管道或其他特殊文件读取输入时有效;从常规文件读取时无效
但是 /tmp/a 是一个管道, ls 的输出是
ls -l /tmp/a
prw-r--r-- 1 root root 0 Feb 4 22:18 /tmp/a
Run Code Online (Sandbox Code Playgroud)
bash 版本是:
GNU bash,版本 4.3.46(1)-release (x86_64-pc-linux-gnu) 版权所有 (C) 2013 Free Software Foundation, Inc.
操作系统是:
Ubuntu 16.04.1 LTS
Run Code Online (Sandbox Code Playgroud) 我想在等待结果 2 秒后终止命令。如果命令没有给出结果(花费太长时间),命令应该停止。我浏览了文档并测试了以下命令:
timeout --kill-after=2 ls /mnt/ftp/;
echo $?;
Run Code Online (Sandbox Code Playgroud)
或者
timeout -k 2 ls /mnt/ftp/;
echo $?;
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误:
timeout: invalid time interval ‘ls’
Run Code Online (Sandbox Code Playgroud)
注意:以下命令在超时后停止,不会终止进程:
timeout 2 ls /mnt/ftp/;
Run Code Online (Sandbox Code Playgroud) ~ ls
A B C
Run Code Online (Sandbox Code Playgroud)
猛击(看起来不对)
~IFS=$'\x00' read -a vars < <(find -type f -print0); echo "${vars}"
ABC
Run Code Online (Sandbox Code Playgroud)
在zsh上(看起来不错)
~IFS=$'\x00' read -A vars < <(find -type f -print0); echo "${vars}"
A B C
Run Code Online (Sandbox Code Playgroud)
它是bash的错误吗?
如果可能,我想与linux命令结合使用,所有以大写字母开头的单词,但不包括该行开头的单词。目标是在这些单词之间创建边缘。例如:
My friend John met Beatrice and Lucio.
Run Code Online (Sandbox Code Playgroud)
我想要的结果应该是:
我设法通过正则表达式获得了所有以大写字母开头的单词,但不包括该行开头的单词。正则表达式为:
*cat gov.json | grep -oP "\b([A-Z][a-z']*)(\s[A-Z][a-z']*)*\b | ^(\s*.*?\s).*" > nodes.csv*
Run Code Online (Sandbox Code Playgroud)
节点设法在列中分别输入它们,即:
现在的目标是在以大写字母开头的名称之间创建可能的组合,并将其放入文件中。有什么建议么?
我正在尝试在Bash或Python中的模式之间对线进行排序。我想基于第二个字段以“,”作为分隔符对行进行排序。
给定以下文本输入文件:
Sample1
T1,64,0.65 MEDIUM
T2,60,0.45 LOW
T3,301,0.68 MEDIUM
T4,65,0.75 HIGH
T5,59,0.72 MEDIUM
T6,51,0.82 HIGH
Sample2
T1,153,0.77 HIGH
T2,152,0.61 MEDIUM
T3,154,0.67 MEDIUM
T4,283,0.66 MEDIUM
T5,161,0.65 MEDIUM
Sample3
T1,147,0.71 MEDIUM
T2,154,0.63 MEDIUM
T3,45,0.63 MEDIUM
T4,259,0.77 HIGH
Run Code Online (Sandbox Code Playgroud)
我期望作为输出:
Sample1
T6,51,0.82 HIGH
T5,59,0.72 MEDIUM
T2,60,0.45 LOW
T1,64,0.65 MEDIUM
T4,65,0.75 HIGH
T3,301,0.68 MEDIUM
Sample2
T2,152,0.61 MEDIUM
T1,153,0.77 HIGH
T3,154,0.67 MEDIUM
T5,161,0.65 MEDIUM
T4,283,0.66 MEDIUM
Sample3
T3,45,0.63 MEDIUM
T1,147,0.71 MEDIUM
T2,154,0.63 MEDIUM
T4,259,0.77 HIGH
Run Code Online (Sandbox Code Playgroud)
我试图通过另一篇文章中的glenn jackman来适应这个建议,但据我测试,它仅适用于2种模式:
> gawk -v cmd="sort -k2" p=1 '
> /^PATTERN2/ …Run Code Online (Sandbox Code Playgroud) 我使用 Go 中的 client-go API 来访问给定控制器(部署)下的 Pod 列表。使用选择器标签查询属于它的 pod 列表时,您会得到一个数组PodConditions- https://pkg.go.dev/k8s.io/api/core/v1?tab=doc#PodCondition。
这与 Pod 条件的官方文档非常一致 - https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-conditions。但文档并不清楚如何访问这个条目数组。是按照最近的条目先排序吗?例如,如果我只想访问 Pod 的最新状态,应该怎么做?从我在本地集群中进行的一项试验中,我获得了控制器 Pod 之一的更新(Pod 条件数组),如下所示
{Initialized True 0001-01-01 00:00:00 +0000 UTC 2020-07-29 08:01:15 +0000 UTC }
{Ready True 0001-01-01 00:00:00 +0000 UTC 2020-07-29 08:01:22 +0000 UTC }
{ContainersReady True 0001-01-01 00:00:00 +0000 UTC 2020-07-29 08:01:22 +0000 UTC }
{PodScheduled True 0001-01-01 00:00:00 +0000 UTC 2020-07-29 08:01:15 +0000 UTC }
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,给定的 Pod几乎同时从 转变ContainersReady为。但它们都不在第一个或最后一个索引中。Ready08:01:22 +0000 UTC
TLDR,问题是如何从这个值数组推断最新的 Pod …