标签: paste

用不同的分隔符连接不同的字段

我有一个这样的制表符分隔文件:

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 命令,我知道使用高级语言很容易。

text-processing paste

2
推荐指数
2
解决办法
165
查看次数

如何将两个txt文件中的数字相加并将其写入同一个文件?

我想从两个 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。

sed awk paste

2
推荐指数
1
解决办法
132
查看次数

对多个文件进行排序并合并

我想以相反的顺序对多个文本文件进行排序,然后合并/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 …

linux sort cat merge paste

2
推荐指数
1
解决办法
4417
查看次数

为什么粘贴命令会截断输入文件之一?

我有两个文件,每个文件仅包含一列数字数据,并且行数相同。使用 时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

shell text-processing paste

2
推荐指数
1
解决办法
400
查看次数

如何组合文件中的备用行?

我有一个 4 行输入文件,我需要修改该文件以组合备用行。我想就地执行操作。

INPUT:
Tom
Nathan
Jack
Polo

Desired Output:
Tom    Jack
Nathan Polo
Run Code Online (Sandbox Code Playgroud)

一种方法是收集奇数行并翻转它们并剪切偶数行并组合两个文件以获得最终输出。但我正在寻找一个更简单的解决方案。

sed awk text-processing paste

1
推荐指数
1
解决办法
498
查看次数

vi / vim - 粘贴文本时额外缩进?

我可以在其他应用程序(如浏览器)中复制字符ctrlc

然后我可以i在 vim 中按下进入插入模式并按下shiftctrlv将文本粘贴进去。

问题是每一行都缩进了一点,所以我最终得到:

在此处输入图片说明

但我想要的(并最终手动编辑以实现)是:在此处输入图片说明

vim editors vi paste

0
推荐指数
1
解决办法
1787
查看次数

如何根据时间戳合并多个文件

我有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)

我怎样才能做到这一点?

awk shell-script cat paste

0
推荐指数
2
解决办法
3585
查看次数

将第一列附加到文件

我有一个看起来像这样的文件:

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)

有效地在第一列的位置附加一列?

command-line sed awk text-processing paste

0
推荐指数
1
解决办法
1791
查看次数

在 bash 中使用 paste 命令创建两个新行

我想使用 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)

为什么我的代码不起作用?

linux bash newlines paste

0
推荐指数
1
解决办法
63
查看次数

标签 统计

paste ×9

awk ×4

text-processing ×4

sed ×3

cat ×2

linux ×2

bash ×1

command-line ×1

editors ×1

merge ×1

newlines ×1

shell ×1

shell-script ×1

sort ×1

vi ×1

vim ×1