小编Mag*_* IB的帖子

Bourne Shell 条件运算符

我在 Bourne Shell 中玩得很开心,但我面临着一个关于条件的非常神秘的情况:

#! /bin/sh

a=1
b=2
c="0 kB/s"

if [ "$a" -eq 1 ] ; then echo "a = 1: true" ; else echo "a =  1: false" ; fi
if [ "$b" -gt 0 ] ; then echo "b > 0: true" ; else echo "b > 0: false" ; fi
if [ "$c" != "0 kB/s" ] ; then echo "c <> 0: true" ; else echo "c <> 0: false" ; fi
if [ "$a" …
Run Code Online (Sandbox Code Playgroud)

sh conditional-statements

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

sed regex 匹配多个字段和值,包括引号

我有一个(空格分隔的)输入文件,其中包含以下行:

field1=value1 field2="value 2" field3='value 3' field4="value '4'" ...
Run Code Online (Sandbox Code Playgroud)

字段数因行而异。为了正确处理这样的文件,我最好喜欢sed它并获得一些表格分隔的输出,例如:

field1 (tab) value1 (tab) field2 (tab) value 2 (tab) field3 (tab) value 3 (tab) field4 (tab) value '4'
Run Code Online (Sandbox Code Playgroud)

到目前为止,我所做的最远的事情是诸如sed "s/\([a-z][a-z]*\)=\(['\"]\{0,1\}\)\(..*?\)\2/\t\1\t\3/g"但离解决我的问题太远了。我的困难是正确处理值的分隔符(引号)的缺失或存在。对于优雅(或着想geekness),我坚持sed,但也将考虑一个awk替代方案。

在此先感谢您的帮助,

编辑:我很震惊地说,但@Jotne 是对的。

echo "field1=value1 field2=\"value 2\" field3='value 3' field4=\"value '4'\"" | sed "s/\([a-z][a-z]*\)=\(\([^ ][^ ]*\)\|'\([^'][^']*\)'\|\"\([^\"][^\"]*\)\"\)/\1\t\3\4\5\t/g"
Run Code Online (Sandbox Code Playgroud)

不起作用: field1=value1 field2="value 2" field3='value 3' field4="value '4'"`

尽管以下(背后的想法是解析audit.log文件)有效:

root@XXX:~# tail -n 2 /var/log/audit/audit.log 
type=CRED_DISP msg=audit(1570385821.075:670): pid=32605 uid=0 auid=0 ses=399 msg='op=PAM:setcred …
Run Code Online (Sandbox Code Playgroud)

regex quotes awk sed

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

PostgreSQL 窗口函数:如何引用当前行中的列与框架行中的列?

[数据库<>小提琴链接]

我有以下数据,group每行都有一个递增的index,并包含 alimit和 a value

CREATE TABLE items ("group" VARCHAR, index INTEGER, "limit" INTEGER, value INTEGER) ;

INSERT INTO items ("group", index, "limit", value) VALUES 
  ('A', 1, 2, 1), ('A', 2, NULL, 3), 
  ('B', 1, 3, 2), ('B', 2, NULL, 2), ('B', 3, 1, 3), ('B', 4, 2, 5), 
  ('C', 1, 2, 3), ('C', 2, 2, 3), ('C', 3, NULL, 4), ('C', 4, 5, 5) ;
Run Code Online (Sandbox Code Playgroud)
 group | index | limit …
Run Code Online (Sandbox Code Playgroud)

postgresql aggregate

5
推荐指数
0
解决办法
415
查看次数

MacOS:如何在有或没有 Chromium 的情况下安装 puppeteer?

我正在尝试在 macOS (Mojave) 10.14.3 上全局安装 puppeteer

  1. 第一次失败(在sudo su模式中):npm install -g puppeteer
> puppeteer@1.12.2 install /usr/local/lib/node_modules/puppeteer
> node install.js

ERROR: Failed to download Chromium r624492! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download.
{ Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/puppeteer/.local-chromium'
  -- ASYNC --
    at BrowserFetcher.<anonymous> (/usr/local/lib/node_modules/puppeteer/lib/helper.js:108:27)
    at Object.<anonymous> (/usr/local/lib/node_modules/puppeteer/install.js:64:16)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
  errno: -13,
  code: 'EACCES',
  syscall: 'mkdir', …
Run Code Online (Sandbox Code Playgroud)

macos chromium npm puppeteer

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