我有一个pom.xml这样的
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.qualtrics.sujitv</groupId>
<artifactId>maven-test</artifactId>
<packaging>jar</packaging>
<version>1.2.3.4</version>
<name>Test app</name>
<url>http://maven.apache.org</url>
</project>
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用xmllint获取版本,但是当我运行时
xmllint --xpath 'string(project/version)' ./pom.xml
Run Code Online (Sandbox Code Playgroud)
它什么也没输出
我有一个bash正在运行的脚本sudo:sudo NewScript
在脚本中,我有一个git不想运行的命令sudo。目前,由于整个脚本是用sudo这个命令运行sudo的,所以我想抑制它。
这样的事情是可能的还是我需要在没有命令的情况下运行脚本sudo并sudo为除git命令之外的脚本中的每个命令添加?
该${parameter[^|^^|,|,,][pattern]}参数替代是给我一个坏的替代误差.
$ echo $greeting
hello world
$ echo "${greeting^}."
-bash: ${greeting^}.: bad substitution
Run Code Online (Sandbox Code Playgroud)
我更新到最新bash版本并继续收到错误.
GNU bash, version 4.4.19(1)-release (x86_64-apple-darwin17.3.0)
Run Code Online (Sandbox Code Playgroud)
我到处寻找,我发现的唯一建议是确保它正在运行bash4.
$ echo $SHELL
/bin/bash
Run Code Online (Sandbox Code Playgroud)
我正在运行macOS High Sierra.
这种格式的txt
"service blabla 1" 5.456
"service blabla 2" 456
Run Code Online (Sandbox Code Playgroud)
我只需要删除“”之间的空白空间
"serviceblabla1" 5.456
"serviceblabla2" 456
Run Code Online (Sandbox Code Playgroud)
我有这个命令
sed 's/ //g'
结果:
"serviceblabla2"456
Run Code Online (Sandbox Code Playgroud) 我想替换以下行:
--memory 20g \
Run Code Online (Sandbox Code Playgroud)
同
--memory 100g \
Run Code Online (Sandbox Code Playgroud)
实际上它应该替换之后的任何数字--memory.以下是我所拥有的,但无法获得预期的结果.
sed -i -E -- "s/\b--memory.*/--memroy 100g \/g" a.txt
Run Code Online (Sandbox Code Playgroud) 我有一个 file.fa:
>ABC
TGTGTGT
AGAGAGA
TGTAGTA
>BDC
>DTR
>EDF
AGAGGTG
AGTGACA
CAGTGAC
Run Code Online (Sandbox Code Playgroud)
我想保留没有 ">" 的行,只有在紧随其后的行没有 ">" 时才保留带有 ">" 的行:
>ABC
TGTGTGT
AGAGAGA
TGTAGTA
>EDF
AGAGGTG
AGTGACA
CAGTGAC
Run Code Online (Sandbox Code Playgroud)
查看这篇文章的答案,我看到awk '/^>/{x=$0} !/^>/{if(x){print x;x=0;}}' file.fa打印出我想要的标题行(带有“>”):
>ABC
>EDF
Run Code Online (Sandbox Code Playgroud)
但是我如何获得没有“>”的文本行?
使用grep,您可以打印与您的搜索查询匹配的行。添加一个-C选项将打印两行周围的上下文,如下所示:
> grep -C 2 'lorem'
some context
some other context
**lorem ipsum**
another line
yet another line
Run Code Online (Sandbox Code Playgroud)
同样,您可以使用grep -B 2或grep -A 2分别打印前两行或后两行的匹配行,例如:
> grep -A 2 'lorem'
**lorem ipsum**
another line
yet another line
Run Code Online (Sandbox Code Playgroud)
是否可以跳过匹配的行并只打印上下文?具体来说,我只想打印匹配项上方 2 行的行,如下所示:
> <some magic command>
some context
Run Code Online (Sandbox Code Playgroud) 我试图通过帐户'A'中的Kinesis流在帐号'B'中触发lambda.这类似于此处描述的内容,除了示例使用S3而不是Kinesis.
为此,我正在尝试设置正确的权限,但遇到了困难.
首先我添加此权限:
aws lambda add-permission \
--function-name "$function_name" \
--statement-id 'Id-123' \
--action "lambda:InvokeFunction" \
--principal $source_account \
--source-arn "$stream_arn" \
--source-account $source_account \
--region us-east-1 \
--profile "$profile"
Run Code Online (Sandbox Code Playgroud)
$source_account"A"的帐户ID 在哪里.
然后我尝试创建源映射:
aws lambda create-event-source-mapping \
--event-source-arn "$stream_arn" \
--function-name "$function_name" \
--starting-position TRIM_HORIZON \
--region us-east-1 \
--profile "$profile"
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
调用CreateEventSourceMapping操作时发生客户端错误(InvalidParameterValueException):角色和事件源必须与云功能位于同一帐户中
我不明白这个错误.它说我想做的事是不可能的吗?但是,在这里如何通过S3 完成,这基本上是相同的机制?
我有五个cURL单独运行良好的语句,并试图将它们放在一个 bash 脚本中。每个cURL语句都依赖于从cuRL在它之前执行的语句生成的变量。我正在尝试找出解决此问题的最明智的方法。这是第一个 cURL 语句;
curl -i -k -b sessionid -X POST https://base/resource -H "Content-Type: application/json" -H "Authorization: Authorization: PS-Auth key=keyString; runas=userName; pwd=[password]" -d "{\"AssetName\":\"apiTest\",\"DnsName\":\"apiTest\",\"DomainName\":\"domainNameString\",\"IPAddress\":\"ipAddressHere\",\"AssetType\":\"apiTest\"}"
Run Code Online (Sandbox Code Playgroud)
这工作正常,它产生这个输出;
{"WorkgroupID":1,"AssetID":57,"AssetName":"apiTest","AssetType":"apiTest","DnsName":"apiTest","DomainName":"domainNameString","IPAddress":"ipAddressHere","MacAddress":null,"OperatingSystem":null,"LastUpdateDate":"2017-10-30T15:18:05.67-07:00"}
Run Code Online (Sandbox Code Playgroud)
但是,在下一个cURL语句中,我需要使用整数 fromAssetID才能执行它。简而言之,如何获取AssetID值并将其存储到变量中以在下一个语句中使用?总共,我将使用 5 个cURL语句,它们依赖于在前面的语句中生成的值来执行。任何有关如何的见解都值得赞赏。
shell构造最近困惑了我,之间的区别是什么
while ! nc -z $HOST $PORT >/dev/null 2>&1 < /dev/null; do
Run Code Online (Sandbox Code Playgroud)
和
while ! nc -z $HOST $PORT >/dev/null 2>&1 ; do
Run Code Online (Sandbox Code Playgroud)