小编Ano*_*ist的帖子

在bash中使用变量替换获取错误

美好的一天,

我想知道为什么我收到此错误:

$ DEPARTAMENTO="San Andrés" ; mv `grep "${DEPARTAMENTO:0:5}" ARCHIVOS2MOVER |  sed 's/ /\\ /g'` "$DEPARTAMENTO" ; echo "$DEPARTAMENTO"
mv: cannot stat `./P1/San': No such file or directory
mv: cannot stat `A_P1': No such file or directory
mv: cannot stat `./P2/San': No such file or directory
mv: cannot stat `A_P2': No such file or directory
San Andrés
Run Code Online (Sandbox Code Playgroud)

这是"ARCHIVOS2MOVER"文件的一部分

./Norte de Santander/Norte_P2
./P1/San A_P1
./P1/Total_P1
./P2/San A_P2
./P2/Total_P2
./Putumayo/Putum_P1
Run Code Online (Sandbox Code Playgroud)

非常感谢你给我一个线索

variables bash replace

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

如何将起始变量传递给 for 循环,BASH

再会,

我想知道如何正确地将变量传递给for循环。语法无关紧要,我只想传递变量并计数二。

问题:

当我写下:

r=0 ; for i in {"$r"..10..2}; do echo "Welcome $i times" ;done
Run Code Online (Sandbox Code Playgroud)

我得到:

Welcome {0..10..2} times
Run Code Online (Sandbox Code Playgroud)

并不是:

Welcome 0 times
Welcome 2 times
Welcome 4 times
Welcome 6 times
Welcome 8 times
Welcome 10 times
Run Code Online (Sandbox Code Playgroud)

提前感谢您提供任何线索

variables bash for-loop

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

awk:如果找到模式,则计算直到第一个空行的行

在大型文档中,一旦找到模式,计算从模式的下一行到第一个空行的所有行:

...
PATTERN 
BBBB
CCCC

...
Run Code Online (Sandbox Code Playgroud)

它应该打印:2

我尝试过的:

awk '/PATTERN/{print $0}' file | wc-l
Run Code Online (Sandbox Code Playgroud)

regex awk

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

根据行数拆分文件,每个部分保存到一个文件AWK,BASH

祝大家好日子

我想知道如何根据数字行的数量拆分文件,这个数字作为变量传递,每个部分具有相同的大小(相同的行号),每个部分将它保存到一个文件中.

这是我尝试过的:

awk -v var="$1" ' FNR==var {close("Partfile"f);f++}{print $0 > "Partfile"f}' datafile
Run Code Online (Sandbox Code Playgroud)

提前感谢任何线索

bash awk

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

标签 统计

bash ×3

awk ×2

variables ×2

for-loop ×1

regex ×1

replace ×1