小编Ben*_* W.的帖子

如何跳过文件的第一行并读取剩余的行作为C程序的输入?

如何编写shell命令跳过文件中的第一行a.csv并将剩余的行重定向为输入myProgram,这是我的C程序?

我写

./myProgram < a.csv | tail -n + 2
Run Code Online (Sandbox Code Playgroud)

但这不起作用,似乎它会跳过输出的第一行myProgram.

linux shell

3
推荐指数
2
解决办法
7422
查看次数

使用jq修改JSON

我想使用Linux命令行修改JSON文件。

我尝试了以下步骤:

[root@localhost]# INPUT="dsa"
[root@localhost]# echo $INPUT
dsa
[root@localhost]# CONF_FILE=test.json
[root@localhost]# echo $CONF_FILE
test.json
[root@localhost]# cat $CONF_FILE
{
  "global" : {
    "name" : "asd",
    "id" : 1
  }
}
[root@localhost]# jq -r '.global.name |= '""$INPUT"" $CONF_FILE > tmp.$$.json && mv tmp.$$.json $CONF_FILE
jq: error: dsa/0 is not defined at <top-level>, line 1:
.global.name |= dsa
jq: 1 compile error
Run Code Online (Sandbox Code Playgroud)

所需的输出:

[root@localhost]# cat $CONF_FILE
    {   "global" : {
    "name" : "dsa",
    "id" : 1   } }
Run Code Online (Sandbox Code Playgroud)

bash json jq

3
推荐指数
2
解决办法
2595
查看次数

加速从文件中读取的sed替换字符串

第一次发帖,所以请善待.我正在读取文件"bar",一次一行,并使用sed替换"foo"中的所有其他行(从第一行开始),并从"bar"读取行.下面的代码可以工作,但是当"foo"是48,890行而"bar"是~24,445行(正好是半个foo的长度)时,它很慢.

有没有人建议如何加快这个过程?

x=1
while read i;do
  sed -i "$x s/^.*$/$i/" foo
  x=$[$x +2]
done < bar
Run Code Online (Sandbox Code Playgroud)

bash sed

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

WooCommerce REST API中的“无法列出资源”错误

我是WordPres`的新手,并且第一次使用WooCommerce插件,并且想在我的Android应用程序中使用WooCommerce REST API。

我启用了REST API,并创建了使用者密钥和使用者密钥。

现在,当http://www.my-domain.com/wp-json/wc/v1/products/在浏览器中使用此URL 来检查API是否正常工作时,出现此错误:

{“代码”:“ woocommerce_rest_cannot_view”,“消息”:“对不起,您无法列出资源。”,“数据”:{“状态”:401}}

我的服务器上未安装SSL。我怎样才能解决这个问题?我需要使用PHP客户端库吗?

php wordpress android woocommerce-rest-api

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

重击:检查命令输出

我需要检查apachectl configtestbash脚本的输出,如果一切看起来不错,则重新启动,而无需将命令输出到屏幕

var =sudo apachectl configtest
Run Code Online (Sandbox Code Playgroud)

如果var包含“语法正确”,则

sudo apachectl graceful
Run Code Online (Sandbox Code Playgroud)

怎么做?

linux bash

3
推荐指数
2
解决办法
2969
查看次数

使用外部项目文件夹中的作曲家

我用谷歌搜索了这个问题,但没有找到这个问题。我也查看了文档,但没有运气:

要运行composer update,该命令通常从项目内部运行。

所以...

cd /var/www/html/project
composer update
Run Code Online (Sandbox Code Playgroud)

这按预期工作。

但是,作为更新脚本的一部分,我想在 bash 脚本中运行它。Composer 已全局安装。我希望能够从带有目标文件夹的脚本位置运行作曲家..类似:

composer update /var/www/html/project
Run Code Online (Sandbox Code Playgroud)

(我已经测试过并且不起作用)

我的具体问题:

有没有办法在目标文件夹上运行作曲家?

bash composer-php

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

如何使用 Windows Batch 从文本文件中修剪/删除前导/左空格?

我想删除/修剪前导/左空白,这是因为我使用 Windows 批处理从我的 PostgreSQL 查询中隐藏了页眉和页脚。我不确定这些是空格还是制表符。

我的 SQL 查询:

psql -d databasename -p portname -U username -t -f filename -o "C:\text.txt"
Run Code Online (Sandbox Code Playgroud)

我不知道有任何其他方法可以做到这一点,因为我的 SQL 是一个多行查询,我不确定我们是否可以使用-c.

以前的结果是这样的:

在此处输入图片说明

删除标题后:

在此处输入图片说明

正如你所看到的,这里有一个空白区域,我想将其删除。

有人可以帮我解决这个问题吗?

postgresql

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

使用 ShellCheck 对 shell 脚本进行静态代码分析 - 预定义规则

我正在尝试使用 Shellcheck 对 shell 脚本进行静态代码分析。我想知道用于执行分析的规则。我在哪里可以得到它们?

以下是我从简单的 helloworld 程序获得的示例输出:

In C:\Users\~\Desktop\hello.sh line 1:
#!/bin/sh
         ^-- SC1017: Literal carriage return. Run script through tr -d '\r' .


In C:\Users\~\Desktop\hello.sh line 2:
# This is a comment!
                    ^-- SC1017: Literal carriage return. Run script through tr -d '\r' .
Run Code Online (Sandbox Code Playgroud)

shell static-code-analysis shellcheck

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

在字符串变量中展开通配符

我正在从黑名单文件中读取字符串,其中包含应删除的文件和文件夹.它适用于简单文件名,但不适用于通配符.

例如,如果我在shell上键入,rm -rf !(abc|def)它将删除除这两个文件之外的所有文件.将此字符串!(abc|def)放入黑名单时,它不起作用,因为字符串不会被评估.

所以我尝试使用eval,但它没有按预期工作.

#!/bin/bash
# test pattern (normally read from blacklist file)
LINE="!(abc|def)"

# output string
echo "$LINE"

# try to expand this wildcards
eval "ls $LINE"

# try with subshell
( ls $LINE )
Run Code Online (Sandbox Code Playgroud)

我怎样才能使这个工作?

bash wildcard expansion

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

使用命令&+ disown而不是nohup

我今天尝试使用该nohup命令执行rsync命令,以便将一些文件的副本从VM处理到另一个,即使我关闭控制台也是如此.

然后我说为什么不用+rsync [parameters] &disown %1

这两者有什么区别?

linux bash shell rsync nohup

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