我有一个这样的制表符分隔文件:
chr1 53736473 54175786
chr1 56861276 56876438
chr1 57512145 57512200
Run Code Online (Sandbox Code Playgroud)
我想像这样连接三个字段结果:
chr1:53736473-54175786
chr1:56861276-56876438
chr1:57512145-57512200
Run Code Online (Sandbox Code Playgroud)
我试过paste -d ':-' file,这显然不起作用。有人可以帮忙吗?
理想情况下可以使用简单的 unix 命令,我知道使用高级语言很容易。
我想从两个 txt 文件中添加数字。文件 1 中的数字会改变,文件 2 应该像这样更新自己file2 = file1 + file2。不需要小数。
例子:
文件 1
3
Run Code Online (Sandbox Code Playgroud)
文件 2
7
Run Code Online (Sandbox Code Playgroud)
输出:
文件 1
3
Run Code Online (Sandbox Code Playgroud)
文件 2
10
Run Code Online (Sandbox Code Playgroud)
我试过了,$ paste file1 file2 | awk '{$0 = $1 + $2}' > file2但它所做的只是将数字从文件 1 复制到文件 2。
我想以相反的顺序对多个文本文件进行排序,然后合并/cat 到一个文本文件。
a.txt
0 33.1
2 33.0
10 21.1
20 21.8
Run Code Online (Sandbox Code Playgroud)
b.txt
0 30.1
2 33.0
10 28.1
20 27.8
Run Code Online (Sandbox Code Playgroud)
等等*.txt文件
我想要这样的输出
20 21.8
10 21.1
2 33.0
0 33.1
20 27.8
10 28.1
2 33.0
0 30.1
Run Code Online (Sandbox Code Playgroud)
我不想这样
20 21.8
20 27.8
10 21.1
10 28.1
2 33.0
2 33.0
0 33.1
0 30.1
Run Code Online (Sandbox Code Playgroud)
我尝试了这些代码
for file in *.txt ; do
sort -nrk 1,1 *.txt > "$file" ;
done
Run Code Online (Sandbox Code Playgroud)
我也尝试过
sort -m *.txt
Run Code Online (Sandbox Code Playgroud)
但这些代码的输出不是我想要的。
我正在寻找使用sort merge …
我有两个文件,每个文件仅包含一列数字数据,并且行数相同。使用 时paste,它确实将两个文件中的行合并为一行,但第一个文件的文本被截断,而第二个文件中的文本保持不变:
$ head -3 s1_.dat s2_.dat
==> s1_.dat <==
-0.023193359375
-0.020416259766
0.014587402344
==> s2_.dat <==
-0.018707275391
-0.019805908203
0.011108398438
$ paste s1_.dat s2_.dat | head -3
-0.02319-0.018707275391
-0.02041-0.019805908203
0.0145870.011108398438
Run Code Online (Sandbox Code Playgroud)
中是否有列宽限制paste?
我有一个 4 行输入文件,我需要修改该文件以组合备用行。我想就地执行操作。
INPUT:
Tom
Nathan
Jack
Polo
Desired Output:
Tom Jack
Nathan Polo
Run Code Online (Sandbox Code Playgroud)
一种方法是收集奇数行并翻转它们并剪切偶数行并组合两个文件以获得最终输出。但我正在寻找一个更简单的解决方案。
我可以在其他应用程序(如浏览器)中复制字符ctrlc。
然后我可以i在 vim 中按下进入插入模式并按下shiftctrlv将文本粘贴进去。
问题是每一行都缩进了一点,所以我最终得到:

但我想要的(并最终手动编辑以实现)是:
我有2个文件
文件 1:
01:12:00,001 Some text
01:14:00,003 Some text
02:12:01,394 Some text
Run Code Online (Sandbox Code Playgroud)
文件2:
01:12:00,001 Some text
01:12:01,029 Some text
01:13:21,123 Some text
Run Code Online (Sandbox Code Playgroud)
我需要如下输出:
01:12:00,001 Some text
01:12:00,001 Some text
01:12:01,029 Some text
01:13:21,123 Some text
01:14:00,003 Some text
02:12:01,394 Some text
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我有一个看起来像这样的文件:
Heading1,Heading2
value1,value2
Run Code Online (Sandbox Code Playgroud)
另一个看起来像这样:
Row1
Row2
Run Code Online (Sandbox Code Playgroud)
我怎样才能将两者结合起来成为:
Row1,Heading1,Heading2
Row2,value1,value2
Run Code Online (Sandbox Code Playgroud)
有效地在第一列的位置附加一列?
我想使用 linux bash 中的 paste 命令将三个文件粘贴到一个文件中,每个文件之间有两个空格:
paste -d '\n\n' file1.txt file2.txt file3.txt > output.txt
Run Code Online (Sandbox Code Playgroud)
然而,在所有没有区别paste -d '\n'和paste -d '\n\n'。
假设 file1 由单个数字“1”、“2”的 file2 和“3”的 file3 组成,我总是得到以下信息:
1
2
3
Run Code Online (Sandbox Code Playgroud)
但我想要:
1
2
3
Run Code Online (Sandbox Code Playgroud)
为什么我的代码不起作用?