我想问一下像==> *.sh <==.但它不起作用,我可以尽一切努力,.sh <==但不能让外卡工作.
这里的诀窍是什么?
我有这个命令:
$ find $PWD -name "*.jpg" | awk '{system( "echo " $(sub(/\//, "_")) ) }'
_home/mol/Pulpit/test/1.jpg
Run Code Online (Sandbox Code Playgroud)
现在同样的事情,但使用gsub:
$ find $PWD -name "*.jpg" | awk '{system( "echo " $(gsub(/\//, "_")) ) }'
mol@mol:~
Run Code Online (Sandbox Code Playgroud)
我想得到结果:
_home_mol_Pulpit_test_1.jpg
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
编辑:
我把'echo'用来测试命令:
$ find $PWD -name "*.jpg" | awk '{gsub("/", "_")} {system( "echo " mv $0 " " $0) }'
_home_mol_Pulpit_test_1.jpg _home_pic_Pulpit_test_1.jpg
mol@mol:~
Run Code Online (Sandbox Code Playgroud)
我想得到结果:
$ find $PWD -name "*.jpg" | awk '{gsub("/", "_")} {system( "echo " mv $0 " " $0) }'
/home/pic/Pulpit/test/1.jpg _home_pic_Pulpit_test_1.jpg
Run Code Online (Sandbox Code Playgroud) 我正在使用awk处理文件,需要跳过一些行.互联网没有一个好的答案.
到目前为止,我唯一的信息是你可以通过以下方式跳过范围:
awk 'NR==6,NR==13 {print}' input.file
Run Code Online (Sandbox Code Playgroud)
要么
awk 'NR <= 5 { next } NR > 13 {exit} { print}' input.file
Run Code Online (Sandbox Code Playgroud)
您可以通过输入跳过第一行:
awk 'NR < 1 { exit } { print}' db_berths.txt
Run Code Online (Sandbox Code Playgroud)
你怎么跳过最后一行?
我有一个巨大的csv文件(按太字节为单位).
现在,我想在顶部插入一行标题.
例如,如果input.csv如下所示:
1,2,3,4
22,3,23,1
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像
id1,id2,id3,id4
1,2,3,4
and so on
Run Code Online (Sandbox Code Playgroud)
我如何从shell,终端,awk,bash这样做?/
有没有办法从内部设置当前shell中的变量awk?
我想对文件进行一些处理并打印出一些数据; 因为我会读完整个文件,所以我想保存行数 - 在这种情况下,FNR.
虽然我似乎无法找到一种方法来设置一个带有FNR值的shell变量; 如果不是这样,我必须FNR从我的输出文件中读取,设置,比如说num_lines,FNR有价值.
我尝试过使用某些组合awk 'END{system(...)}',但无法管理它.有什么方法吗?
我想将此命令保存到另一个文本:awk'{print $ 2}'它从文本中提取.现在我想保存输出太另一个文本.谢谢
在awk:
1 tolower($1) ~ /mary/ { print "CI Record: " $0; }
2 $0 !~ /Mary/ { print "Not Mary: " $0; }
3 $1 == "Mary" { print "Mary Record: " $0; }
Run Code Online (Sandbox Code Playgroud)
为什么1和3比较$1,并2使用$0?
我有一列的 name.txt 文件,例如
A
B
C
D
E
F
Run Code Online (Sandbox Code Playgroud)
然后我有很多文件,egxtxt, y.txt 和 z.txt
x.txt 有
A 1
C 3
D 2
Run Code Online (Sandbox Code Playgroud)
y.txt 有
A 1
B 4
E 3
Run Code Online (Sandbox Code Playgroud)
z.txt 有
B 2
D 2
F 1
Run Code Online (Sandbox Code Playgroud)
理想的输出是(如果没有映射就填0)
A 1 1 0
B 0 4 2
C 3 0 0
D 2 0 2
E 0 3 0
F 0 0 1
Run Code Online (Sandbox Code Playgroud)
可以用bash制作吗?(也许是 awk?)
非常感谢!!!
第一次编辑 - 我的尝试性工作
由于我对 bash 还很陌生,所以我真的很难用 awk 找出可能的解决方案。我更熟悉R,可以通过
namematrix[namematrix[,1]==xmatrix[,1],]
Run Code Online (Sandbox Code Playgroud)
总而言之,我真的很感谢下面的帮助,帮助我更多地了解awk和join!
第二次编辑 …
I have the following text input:
lorem <a> ipsum <b> dolor <c> sit amet,
consectetur <d> adipiscing elit <e>, sed
do eiusmod <f> tempor
incididunt ut
Run Code Online (Sandbox Code Playgroud)
As seen in the text, the appearances of <?> is not fixed and can appear 0 or multiple times on the same line.
Only using awk I need to output this:
<a> <b> <c>
<d> <e>
<f>
Run Code Online (Sandbox Code Playgroud)
I tried this awk script:
awk '{
match($0,/<[^>]+>/,a); // fill array a with matches
for …Run Code Online (Sandbox Code Playgroud) 我有一个包含许多文本列的文件,包括一行的时间戳Fri Jan 02 18:23,我需要将该日期转换为MM/DD/YYYY HH:MM格式.
我一直在尝试使用带有awk getline的标准"date"工具来进行转换,但我无法弄清楚如何以预期的格式将字段传递给'date'命令(引用"或") s,)因为getline也需要用引号括起来的命令字符串.
就像是 "date -d '$1 $2 $3 $4' +'%D %H:%M'" | getline var
现在我考虑一下,我想我真正想问的是如何将awk变量嵌入到字符串中.