我有下面的csv文件
,,,Test File,
,todays Date:,01/10/2018,Generation date,10/01/2019 11:20:58
Header 1,Header 2,Header 3,Header 4,Header 5
,My account no,100102GFC,,
A,B,C,D,E
A,B,C,D,E
A,B,C,D,E
TEST
我需要提取第二行第三栏中的今天的日期 以及第四行第三列中的帐号。
下面是我必须创建的新文件,这些是提取的值 从第三和第四行开始,需要在文件末尾附加。 新文件将包含第4行和n-1行的数据
A,B,C,D,E,01/10/2018,100102GFC
A,B,C,D,E,01/10/2018,100102GFC
A,B,C,D,E,01/10/2018,100102GFC
请您帮我在shell脚本中做同样的事情吗?
这是我尝试过的方法,我是Shell脚本的新手,无法将所有这些功能结合在一起
要从第二行提取日期
sed -sn 2p test.csv| cut -d ',' -f 3
要提取帐户号
sed -sn 3p test.csv| cut -d ',' -f 3
提取实际数据
tail -n +5 test.csv | head -n -1>temp.csv
答案 0 :(得分:0)
尝试backLayer: Container(
color: Colors.blue,
child: ListView(
children: <Widget>[
ListTile(
title: Text("Screen two"),
onTap: () {
go(1); //page index
},
),
ListTile(
title: Text("Screen three"),
onTap: () {
go(2);
},
)
],
),
),
frontLayer: Container(
color: Colors.white,
child: PageView(
onPageChanged: onPageChanged, //page changed function
controller: _pageController, //controller
physics: NeverScrollableScrollPhysics(), //disable swipe
children: <Widget>[
HelloScreen(), //put your screens here.
ScreenTwo(),
ScreenThree(),
],
),
),
:
awk
例如:
awk -F, 'NR==2{d=$3}NR==4{a=$3}NR>4{if (line) print line; line = $0 "," d "," a;}' Inputfile.csv
在我编辑问题之前误解了您的意思,之后又更新了我的答案。
在$ cat file1
,,,Test File,
,todays Date:,01/10/2018,Generation date,10/01/2019 11:20:58
Header 1,Header 2,Header 3,Header 4,Header 5
,My account no,100102GFC,,
A,B,C,D,E
A,B,C,D,E
A,B,C,D,E
TEST
$ awk -F, 'NR==2{d=$3}NR==4{a=$3}NR>4{if (line) print line; line = $0 "," d "," a;}' file1
A,B,C,D,E,01/10/2018,100102GFC
A,B,C,D,E,01/10/2018,100102GFC
A,B,C,D,E,01/10/2018,100102GFC
命令中:
awk
表示行号NR
,用于分配分隔符,-F
存储日期d
帐户。
a
只需将行与
$0
和d
连接起来。
您不希望最后一行,所以我使用a
来延迟打印,最后一行不会打印出来(尽管它确实保存到了line
,并且如果line
也可以使用块)。
答案 1 :(得分:0)
您也可以尝试Perl
$ cat dawn.txt
,,,Test File,
,todays Date:,01/10/2018,Generation date,10/01/2019 11:20:58
Header 1,Header 2,Header 3,Header 4,Header 5
,My account no,100102GFC,,
A,B,C,D,E
A,B,C,D,E
A,B,C,D,E
TEST
$ perl -F, -lane ' $dt=$F[2] if $.==2 ; $ac=$F[2] if $.==4; if($.>4 and ! eof) { print "$_,$dt,$ac" } ' dawn.txt
A,B,C,D,E,01/10/2018,100102GFC
A,B,C,D,E,01/10/2018,100102GFC
A,B,C,D,E,01/10/2018,100102GFC
$
答案 2 :(得分:0)
id
或者,取决于您的要求和实际输入数据:
<span id="product-price-895" data-price-amount="12.95" data-price-type="finalPrice" class="price-wrapper " >
<span class="price">€ 12,95</span>
</span>