小编Jon*_*son的帖子

在sed命令中转义正斜杠

BashSED我试图用URL替换js文件中的两个字符串.

当我运行.sh脚本时,应插入的两个url是输入参数.

./deploy.sh https://hostname.com/a/index.html https://hostname2.com/test
Run Code Online (Sandbox Code Playgroud)

然而,为了使我的sed命令这可用我要逃避所有向前斜杠:\\

./deploy.sh https:\\/\\/hostname.com\\/a\\/index.html https:\\/\\/hostname2.com\\/test
Run Code Online (Sandbox Code Playgroud)

如果它们被转义,则此SED命令适用于Mac OSX Sierra

APP_URL=$1
API_URL=$2

sed "s/tempAppUrl/$APP_URL/g;s/tempApiUrl/$API_URL/g" index.src.js > index.js
Run Code Online (Sandbox Code Playgroud)

现在我不想将转义的URL作为参数插入,我希望它自己的脚本能够转义正斜杠.

这就是我尝试过的:

APP_URL=$1
API_URL=$2

ESC_APP_URL=(${APP_URL//\//'\\/'})
ESC_API_URL=(${API_URL//\//'\\/'})

echo 'Escaped URLS'
echo $ESC_APP_URL
#Echos result: https:\\/\\/hostname.com\\/a\\/index.html 
echo $ESC_API_URL
#Echos result: https:\\/\\/hostname2.com\\/test

echo "Inserting app-URL and api-URL before dist"
sed "s/tempAppUrl/$ESC_APP_URL/g;s/tempApiUrl/$ESC_API_URL/g" index.src.js > index.js
Run Code Online (Sandbox Code Playgroud)

参数看起来相同,但在这种情况下,SED会抛出错误

sed: 1: "s/tempAppUrl/https:\\/\ ...": bad flag in substitute command: '\'
Run Code Online (Sandbox Code Playgroud)

谁能告诉我这里的区别?字符串看起来相同,但给出不同的结果.

bash shell sed

30
推荐指数
1
解决办法
2万
查看次数

AWS S3 CLI CP文件并添加元数据

尝试将名为test.txt的本地文件复制到我的s3存储桶并将元数据添加到该文件中.

但它总是打印错误:

参数--metadata-directive:无效的选择,有效的选择是:COPY | 更换

是否可以使用cp命令执行此操作,因为我理解应该可以使用的文档. AWS CLI CP DOCS

这是我试过的命令:

aws s3 cp test.txt to s3://a-bucket/test.txt --metadata x-amz-meta-cms-id:34533452

aws s3 cp test.txt to s3://a-bucket/test.txt --metadata-directive COPY --metadata x-amz-meta-cms-id:34533452

aws s3 cp test.txt to s3://a-bucket/test.txt --metadata-directive COPY --metadata '{"x-amz-meta-cms-id":"34533452"}'

aws s3 cp test.txt to s3://a-bucket/test.txt --metadata '{"x-amz-meta-cms-id":"34533452"}'
Run Code Online (Sandbox Code Playgroud)

aws --version: aws-cli/1.9.7 Python/2.7.10 Darwin/16.1.0 botocore/1.3.7

操作系统:macOS Sierra版本10.12.1

编辑

值得一提的是,上传没有--metadata标志的文件可以正常工作.

嗯,我已经检查了我的cli版本的帮助,aws s3 cp help 结果它没有--metadata作为一个选项列出,因为上面给定链接的文档确实如此.

如果runnig旧版本的aws cli

Use aws s3api put-object
Run Code Online (Sandbox Code Playgroud)

如何将文件上传到存储桶并添加元数据:

aws s3api put-object --bucket a-bucket --key test.txt …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services aws-cli

13
推荐指数
2
解决办法
1万
查看次数

AWS DynamoDB扫描FilterExpression使用不等于列表中的String

我有一个ID类型为String的List.我想扫描DynamoDB并获取包含没有这些ID的项目的结果列表.但我无法弄清楚如何键入过滤器表达式.ReviewId是String类型的主分区键.

Map<String, AttributeValue> eav = new HashMap<>();
eav.put(":idFilter", new AttributeValue().withSS(idFilter));

DynamoDBScanExpression scanExp = new DynamoDBScanExpression()
          .withFilterExpression("ReviewId <> (:idFilter)")
          .withExpressionAttributeValues(eav);
Run Code Online (Sandbox Code Playgroud)

上面的过滤器表达式是有效的,但它仍然总是返回列表中具有id的项目.我还尝试in<>运算符之前和之后包含这个词.

java amazon-web-services amazon-dynamodb aws-sdk

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

Css属性选择器,其中包含的属性名称为:

我正在尝试定位包含冒号的元素属性: :

.someclass[xml:lang="da"]
Run Code Online (Sandbox Code Playgroud)

HTML:

<span class="someclass" xml:lang="da">
Run Code Online (Sandbox Code Playgroud)

这是可能的,不适用于上面的语法?

html css css-selectors css3

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

粗体和普通文本彼此相邻,因为字体未对齐:helvetica

我必须将文本彼此相邻,第一个是粗体,下一个具有正常的字体粗细。但文字底部未对齐,在Chrome中,具有正常字体粗细的文字大约增加了1 px。

一种解决方案是用margin-top: 1px;具有正常字体粗细的文本来补偿此问题,但是由于字体,firefox和chrome似乎处理不同:

font-family: Helvetica Neue,Helvetica,Arial,sans-serif;

在不使用特定浏览器的CSS且不更改字体的情况下如何解决此问题的任何建议。

在FF和Chrome中打开此示例:Fiddle

HTML:

.bold-text, .normal-text {
   display: inline-flex;
   font-size: 12px;
}

.top-wrapper {
   margin-top: 2px;
   display: flex;
   flex-direction: row;
   font-family: Helvetica Neue,Helvetica,Arial,sans-serif;
}

.bold-text {
   font-weight: bold;
   max-width: 115px;
 }

 .normal-text {
   color: #777;
   margin-left: 3px;
 }
Run Code Online (Sandbox Code Playgroud)
<div class="top-wrapper">
    <div class="bold-text">some random text</div>
    <div class="normal-text">6 days ago</div>
</div>
Run Code Online (Sandbox Code Playgroud)

html javascript css fonts

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