小编Ver*_*era的帖子

测试某个函数是否可以使用

如果函数所在的文件尚未被获取,是否可以测试该函数是否可以使用?

bash

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

带有空记录分隔符的 awk 仅打印一个文件

下面的代码如何只打印一个文件?

find "$fdir" -type f -name "${fnam}-*.png" -print0 | awk -v RS='\0' -F'[-.]' '{print $(NF-1), $0}' | cat -vet
Run Code Online (Sandbox Code Playgroud)

这给了我

04 /home/flora/edvart/docs/schimmel-04.png$
Run Code Online (Sandbox Code Playgroud)

但做find "$fdir" -type f -name "${fnam}-*.png"

/home/flora/edvart/docs/schimmel-04.png
/home/flora/edvart/docs/schimmel-05.png
/home/flora/edvart/docs/schimmel-06.png
/home/flora/edvart/docs/schimmel-07.png
/home/flora/edvart/docs/schimmel-08.png
/home/flora/edvart/docs/schimmel-09.png
/home/flora/edvart/docs/schimmel-10.png
/home/flora/edvart/docs/schimmel-11.png
/home/flora/edvart/docs/schimmel-12.png
/home/flora/edvart/docs/schimmel-13.png
/home/flora/edvart/docs/schimmel-1.png
/home/flora/edvart/docs/schimmel-2.png
/home/flora/edvart/docs/schimmel-3.png
Run Code Online (Sandbox Code Playgroud)

awk null

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

转移; 使用 bash 时的 Shift 与 Shift 2

遇到过一些比使用 bash 时shift; shift更好的 语句,但我需要一些令人信服的解释。如果位置参数的传递方式出现问题,会发生shift 2什么以及如何更好地处理问题?shift; shift

bash

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

bash 条件分组

我有以下bash条件测试需要更改。

if (( exec_rc == 1 )) && [ -z "$keymap_actm" ] && [ -n "$modmap_actm" ]; then
Run Code Online (Sandbox Code Playgroud)

(( exec_rc == 1 ))必须始终为真。

但如果两者之一[ -z "$keymap_actm" ][ -n "$modmap_actm" ]为真,我想执行条件的主体。

什么是实现我想要的目标的可读方式?

bash

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

重新启动rsync

我正在使用 rsync 使用命令传输一些文件

rsync -acv --progress ./d-planetr ./c3-remotsn/
Run Code Online (Sandbox Code Playgroud)

假设我停止传输并再次重新启动,是否可以确保所有文件传输成功完成?

rsync

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

将数字与全局模式匹配

我正在尝试使用全局模式进行匹配。然而,这场比赛失败了:

dgt='^+([0123456789])$'
[[ "$1" == $dgt  ]] && echo "SUCCESS" || echo "FAILURE"
Run Code Online (Sandbox Code Playgroud)

bash wildcards

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

将正则表达式转换为 bash 模式

我有以下正则表达式并希望将它们转换为 bash 模式。

itg='^[-+]?[0-9]*$'
fxp='^[-+]?[0-9]*[.,]?[0-9]+$'
flp='^[-+]?[0-9]*[.,]?[0-9]+([eE][-+]?[0-9]+)?$'
Run Code Online (Sandbox Code Playgroud)

我正在尝试匹配数值

Integral Values 1 21 144 -17

Fixed point values 3.142 0.334 .345 -7.345 -0.34345

Floating point values 3.142E-2 43.234E+3 234.345e7
Run Code Online (Sandbox Code Playgroud)

我正在使用 bash 脚本,使用BREor ERE

bash regular-expression wildcards

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

具有特定格式字符串的 printf 快捷命令

我想使用printf带有特定格式字符串的快捷命令,并提出了以下内容。

local PF="printf %s\n"
$PF "Some Text"
Run Code Online (Sandbox Code Playgroud)

它完成了这项工作,但想知道使用这种方法时是否存在任何警告,这可能会导致格式字符串的误解。

bash printf text-formatting

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

正则表达式在 bash 中失败

为什么这个正则表达式在 bash 中不起作用?

 if [[ "$vl" =~ ^ *[{-].* ]]; then
Run Code Online (Sandbox Code Playgroud)

我想匹配任意数量的空格,后跟{or -,以及后面的任何内容。

bash

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

在 bash 中使用 printf

在 bash 中使用 printf 时,是否总是需要提供格式字符串,如下所示。

printf "" "V01 Oct 2021"
Run Code Online (Sandbox Code Playgroud)

或者printf "V01 Oct 2021"还是可以的?

bash printf

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

在 awk 中使用 BRE 和 ERE

如何awk区分使用BREERE?因为sed有一个-E选项可以使用。

awk regular-expression

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

awk 中的数组索引

我有以下 awk 代码,它创建数组kaggr,然后将值存储在knam和中knum。印象中循环不应该从 开始1,而是从 开始0,但for ( i=1; i<n; i+=2 )似乎有效。awk 数组应该从索引开始0,那么从索引开始时一切正常吗1

awk 'BEGIN { kl=0
       "tput sgr0" |& getline rst
       ks = "Wht 15 Grn 34 Blu 39 Ylw 11 Red 196 Amb 214"
       n = split(ks, kaggr)
       for ( i=1; i<n; i+=2 ) {
         knam = kaggr[i] ":"
         knum = kaggr[i+1]
        }
     }
Run Code Online (Sandbox Code Playgroud)

awk

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