我有这个file1.csv:
A,dog cat horse cow
B,goat deer fish
A,deer goat
C,dog cat
C,goat
Run Code Online (Sandbox Code Playgroud)
我需要合并加入类似的行(例如 A 和 C):
A,dog cat horse cow deer goat
B,goat deer fish
C,dog cat goat
Run Code Online (Sandbox Code Playgroud) 我有一个文件
bla bla bla bla bla bla bla
bla bla bla bla bla bla bla
\newcommand{\datestamp}{20180215}
bla bla bla bla bla bla bla
bla bla bla bla bla bla bla
Run Code Online (Sandbox Code Playgroud)
我需要搜索\newcommand{\datestamp}并想用新模式替换附近的模式。
所需的输出文件
bla bla bla bla bla bla bla
bla bla bla bla bla bla bla
\newcommand{\datestamp}{20180218}
bla bla bla bla bla bla bla
bla bla bla bla bla bla bla
Run Code Online (Sandbox Code Playgroud)
反斜杠使这项任务复杂化。我该如何管理?
像 VLOOKUP 一样匹配另一个文件中 2 列的值后,如何添加另外 2 个值?
示例如下。文件 1 中第 6 和 7 列的值与文件 2 中的第 1 和 2 列匹配时,会将文件 1 中的第 9 和 10 列与文件 2 中第 3 和 4 列的值相加。
文件1.txt
1 1 1 1 1 5 9 1
2 2 2 2 2 7 8 2
3 3 3 3 3 7 7 3
4 4 4 4 4 8 6 4
Run Code Online (Sandbox Code Playgroud)
文件2.txt
5 9 A B
8 6 E F
7 7 G H
7 8 …Run Code Online (Sandbox Code Playgroud) 我有一个包含两列(和一个标题)的 CSV 文件,其中每个元素都包含 0 到 199 之间的任意数字。我想将它们转换为相应的 URL。下面是一个例子:
41,51
Run Code Online (Sandbox Code Playgroud)
应该变成:
http://www.cs.bu.edu/~betke/research/vc-crowd/MSCOCO/41.jpg,http://www.cs.bu.edu/~betke/research/vc-crowd/MSCOCO/51.jpg
Run Code Online (Sandbox Code Playgroud)
这是我要转换的 list.csv 文件:
$ head list.csv
imageA,imageB
41,51
172,100
99,149
83,72
84,160
186,8
93,198
150,21
63,102
Run Code Online (Sandbox Code Playgroud) 我有一个文件。
$ cat file
"bar": false
"foo": false
Run Code Online (Sandbox Code Playgroud)
我需要替换的单词false与true仅在图案"foo": false。问题是引号和空格。
我想到了两种方法:
2 个选项的示例尝试:
$ sed -i 's/\(.*foo\)/false/true\1/g' file
Run Code Online (Sandbox Code Playgroud)
它失败了。
我有一个包含以下内容的文件:
Windows user
I love windows
Windows 10
# I like it
# I want to keep these two lines
Just started with my job
New to shell scripting as well
New to Mac
Please help!
#EOF
Run Code Online (Sandbox Code Playgroud)
我想删除所有行:
从 " I love windows" 到 " New to shell scripting as well",但保留这些行之间的注释。
因此,所需的输出应如下所示:
Windows user
# I like it
# I want to keep these two lines
New to Mac
Please help!
#EOF
Run Code Online (Sandbox Code Playgroud)
我使用sed命令使用行号删除行范围
sed '2,7d' file …Run Code Online (Sandbox Code Playgroud) 我知道如何合并两个表以在新文件中打印替代行,但我想将 file1.txt 中的每两行与 file2.txt 中的一行合并。举个例子:
file1.txt 是
A a aa
B b bb
C c cc
D d dd
Run Code Online (Sandbox Code Playgroud)
和 file2.txt 是
E e ee
F f ff
Run Code Online (Sandbox Code Playgroud)
我希望有
A a aa
B b bb
E e ee
C c cc
D d dd
F f ff
Run Code Online (Sandbox Code Playgroud) 我需要以特定次数复制文本文件中的行。例如我的数据文件是:
jplg3350.18i
jplg3360.18i
jplg3370.18i
Run Code Online (Sandbox Code Playgroud)
我需要将这些行复制三遍,如下所示;
jplg3350.18i
jplg3360.18i
jplg3370.18i
jplg3350.18i
jplg3360.18i
jplg3370.18i
jplg3350.18i
jplg3360.18i
jplg3370.18i
Run Code Online (Sandbox Code Playgroud) 我有一个文本文件。该文件包括如下字符和数字:
ANKR00TUR_R_20183240000_01D_30S_MO.rnx: 2018 11 20 00 00 0.0000000 GPS TIME OF FIRST OBS
brmu3350.14o: 2014 12 1 0 0 0.0000000 GPS TIME OF FIRST OBS
KNY12040.14o: 2014 7 23 0 0 0.0000000 GPS TIME OF FIRST OBS
rinex_quantity:grep "TIME OF FIRST OBS" * > time_of_first_epochs
Run Code Online (Sandbox Code Playgroud)
我只需要提取 4 位数字并将它们存储到另一个文件中,如下所示:
2018
2014
2014
Run Code Online (Sandbox Code Playgroud)
我应用了以下代码,但它提取了所有 4 位数字:
grep -Po "\d{4}" data
2018
3240
2018
0000
3350
2014
0000
1204
2014
0000
Run Code Online (Sandbox Code Playgroud) 考虑这个数据:
#!/usr/bin/env bash
cat > example_file.txt <<EOL
group, value, price
1, 3.21, 3.21
1, 3.42, 4.11
1, 3.5, 1.22
2, 4.1, 9.2
2, 4.2, 2.11
EOL
Run Code Online (Sandbox Code Playgroud)
我想将“值”列移到前面:
value, price, group
3.21, 3.21, 1
3.42, 4.11, 1
3.5, 1.22, 1
4.1, 9.2, 2
4.2, 2.11, 2
Run Code Online (Sandbox Code Playgroud)
问题是:列的顺序(甚至列的数量或许多列的名称——除了始终存在的“值”)因文件而异。所以我必须按名称(而不是顺序)选择值列。
我怎样才能做到这一点?