Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 将结果打印到awk中输出文件的第二行_Bash_Awk - Fatal编程技术网

Bash 将结果打印到awk中输出文件的第二行

Bash 将结果打印到awk中输出文件的第二行,bash,awk,Bash,Awk,似乎还没有人发现我的问题,就这样吧。 因此,我想在输入文件的第二行、第四行、第六行等的第三列$3(我知道怎么做),然后在输出文件中的相同位置打印结果。 我的意思是,第二行输入的$3,到第二行输出的$3,然后继续。 我想要这个,使用bash的awk。似乎你不能很好地解释你想要什么,所以我猜,也许你可以说什么是错的,它将通过消除过程得到解决 给定一个名为file的输入文件,如下所示: Line 0,field2,field3,90 Line 1,field2,field3,80 Line 2,fie

似乎还没有人发现我的问题,就这样吧。
因此,我想在输入文件的第二行、第四行、第六行等的第三列
$3
(我知道怎么做),然后在输出文件中的相同位置打印结果。
我的意思是,
第二行输入的
$3
,到第二行输出的
$3
,然后继续。


我想要这个,使用bash的awk。

似乎你不能很好地解释你想要什么,所以我猜,也许你可以说什么是错的,它将通过消除过程得到解决

给定一个名为
file
的输入文件,如下所示:

Line 0,field2,field3,90
Line 1,field2,field3,80
Line 2,field2,field3,82
Line 3,field2,field3,21 
Line 4,field2,field3,85
以下awk将每隔一行打印一次field3,打印位置与找到的位置相同,但周围没有其他内容:

awk -F, 'NR%2{print ",,"$3"\n,,";}' file
输出:

,,field3
,,
,,field3
,,
,,field3
,,

似乎你们不能很好地解释你们想要什么,所以我猜,也许你们可以说什么是错的,它会通过消除的过程得到解决

给定一个名为
file
的输入文件,如下所示:

Line 0,field2,field3,90
Line 1,field2,field3,80
Line 2,field2,field3,82
Line 3,field2,field3,21 
Line 4,field2,field3,85
以下awk将每隔一行打印一次field3,打印位置与找到的位置相同,但周围没有其他内容:

awk -F, 'NR%2{print ",,"$3"\n,,";}' file
输出:

,,field3
,,
,,field3
,,
,,field3
,,

似乎你们不能很好地解释你们想要什么,所以我猜,也许你们可以说什么是错的,它会通过消除的过程得到解决

给定一个名为
file
的输入文件,如下所示:

Line 0,field2,field3,90
Line 1,field2,field3,80
Line 2,field2,field3,82
Line 3,field2,field3,21 
Line 4,field2,field3,85
以下awk将每隔一行打印一次field3,打印位置与找到的位置相同,但周围没有其他内容:

awk -F, 'NR%2{print ",,"$3"\n,,";}' file
输出:

,,field3
,,
,,field3
,,
,,field3
,,

似乎你们不能很好地解释你们想要什么,所以我猜,也许你们可以说什么是错的,它会通过消除的过程得到解决

给定一个名为
file
的输入文件,如下所示:

Line 0,field2,field3,90
Line 1,field2,field3,80
Line 2,field2,field3,82
Line 3,field2,field3,21 
Line 4,field2,field3,85
以下awk将每隔一行打印一次field3,打印位置与找到的位置相同,但周围没有其他内容:

awk -F, 'NR%2{print ",,"$3"\n,,";}' file
输出:

,,field3
,,
,,field3
,,
,,field3
,,

下面是如何使用
awk

awk 'FNR==NR {a[NR]=$3;next} FNR%2==0 {$3=a[FNR]}1' firstfile secondfile
这将从
第一个文件
获取数据,并使用列
$3
和每第二行更新
第二个文件

数据被替换在同一位置

cat firstfile
1 one green
2 two red
3 three blue
4 four orange
5 five yellow
6 six brown
运行
awk
命令:

1 one jan
2 two red
3 three mars
4 four orange
5 five jun
6 six brown
也将数据存储回第二个文件

awk 'FNR==NR {a[NR]=$3;next} FNR%2==0 {$3=a[FNR]}1' firstfile secondfile > tmp && mv tmp secondfile 

下面是如何使用
awk

awk 'FNR==NR {a[NR]=$3;next} FNR%2==0 {$3=a[FNR]}1' firstfile secondfile
这将从
第一个文件
获取数据,并使用列
$3
和每第二行更新
第二个文件

数据被替换在同一位置

cat firstfile
1 one green
2 two red
3 three blue
4 four orange
5 five yellow
6 six brown
运行
awk
命令:

1 one jan
2 two red
3 three mars
4 four orange
5 five jun
6 six brown
也将数据存储回第二个文件

awk 'FNR==NR {a[NR]=$3;next} FNR%2==0 {$3=a[FNR]}1' firstfile secondfile > tmp && mv tmp secondfile 

下面是如何使用
awk

awk 'FNR==NR {a[NR]=$3;next} FNR%2==0 {$3=a[FNR]}1' firstfile secondfile
这将从
第一个文件
获取数据,并使用列
$3
和每第二行更新
第二个文件

数据被替换在同一位置

cat firstfile
1 one green
2 two red
3 three blue
4 four orange
5 five yellow
6 six brown
运行
awk
命令:

1 one jan
2 two red
3 three mars
4 four orange
5 five jun
6 six brown
也将数据存储回第二个文件

awk 'FNR==NR {a[NR]=$3;next} FNR%2==0 {$3=a[FNR]}1' firstfile secondfile > tmp && mv tmp secondfile 

下面是如何使用
awk

awk 'FNR==NR {a[NR]=$3;next} FNR%2==0 {$3=a[FNR]}1' firstfile secondfile
这将从
第一个文件
获取数据,并使用列
$3
和每第二行更新
第二个文件

数据被替换在同一位置

cat firstfile
1 one green
2 two red
3 three blue
4 four orange
5 five yellow
6 six brown
运行
awk
命令:

1 one jan
2 two red
3 three mars
4 four orange
5 five jun
6 six brown
也将数据存储回第二个文件

awk 'FNR==NR {a[NR]=$3;next} FNR%2==0 {$3=a[FNR]}1' firstfile secondfile > tmp && mv tmp secondfile 


请把你试过的贴出来。我什么都没试过。对于输入,我执行了awk-F“'NR%2==0{print$3}”input.txt,并得到了我想要的结果。但是我不知道如何为输出编码。对不起。@markos89,请发布输入和输出示例。请发布您尝试过的内容。我什么都没试过。对于输入,我执行了awk-F“'NR%2==0{print$3}”input.txt,并得到了我想要的结果。但是我不知道如何为输出编码。对不起。@markos89,请发布输入和输出示例。请发布您尝试过的内容。我什么都没试过。对于输入,我执行了awk-F“'NR%2==0{print$3}”input.txt,并得到了我想要的结果。但是我不知道如何为输出编码。对不起。@markos89,请发布输入和输出示例。请发布您尝试过的内容。我什么都没试过。对于输入,我执行了awk-F“'NR%2==0{print$3}”input.txt,并得到了我想要的结果。但是我不知道如何为输出编码。对不起。@markos89,请发布输入和输出示例。非常感谢@Jotne。如果你能解释一下“}”后面的“1”是什么意思。非常感谢。
1
是一个命令,它将执行默认操作(打印行),因此
1
=
1{print}
=
1{print$0}
非常感谢@Jotne。如果你能解释一下“}”后面的“1”是什么意思。非常感谢。
1
是一个命令,它将执行默认操作(打印行),因此
1
=
1{print}
=
1{print$0}
非常感谢@Jotne。如果你能解释一下“}”后面的“1”是什么意思。非常感谢。
1
是一个命令,它将执行默认操作(打印行),因此
1
=
1{print}
=
1{print$0}
非常感谢@Jotne。如果你能解释一下“}”后面的“1”是什么意思。非常感谢。
1
是一个命令,它将执行默认操作(打印行),因此
1
=
1{print}
=
1{print$0}