小编bio*_*han的帖子

排序数据更快的方法

我需要对bed文件随机排序10000 次,每次取前 1000 行。目前,我正在使用以下代码:

for i in {1..100}; do
    for j in {1..100}; do
        sort -R myfile.bed_sorted | tail -n 1000 > myfile.bed.$i.$j.bed
    done
done
Run Code Online (Sandbox Code Playgroud)

为每个文件执行此操作需要将近 6 个小时。我有大约 150 个需要解决。有没有更快的解决方案?

我有一个数据样本(myfile.bed_sorted):

    chr1    111763899   111766405   peak1424    1000    .   3224.030    -1  -1
    chr1    144533459   144534584   peak1537    998 .   3219.260    -1  -1
    chr8    42149384    42151246    peak30658   998 .   3217.620    -1  -1
    chr2    70369299    70370655    peak16886   996 .   3211.600    -1  -1
    chr8    11348914    11352994    peak30334   990 .   3194.180    -1  -1
    chr21   26828820 …
Run Code Online (Sandbox Code Playgroud)

sort

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

使用文件名创建目录并将文件移动到其相应的文件夹

我有一个包含大约 150 个文本文件的文件夹。我想以 150 个文件的名称创建文件夹。之后,我希望将文本文件移动到其各自的文件夹中。

myfolder 目录中文件的示例名称:

~/myfolder/
       |______ ajhaslf.txt
       |______ oiueed.txt
       |______ dsflije.txt
Run Code Online (Sandbox Code Playgroud)

我希望我的新结构如何:

~/myfolder/
       |______ ajhaslf
                   |____ajhaslf.txt
       |______ oiueed
                   |____oiueed.txt
       |______ dsflije
                   |____dsflije.txt
Run Code Online (Sandbox Code Playgroud)

当然,使用文件名创建目录对我来说不是问题mkdir

directory rename files

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

UNIX 粘贴列并为所有缺失值插入零

我想合并包含不同行数但列数相同的两个 txt 文件中的特定列(如下所示):

  file1:
  xyz   desc1   12
  uvw   desc2   55
  pqr   desc3   12

  file2:
  xyz   desc1   56
  uvw   desc2   88


  Preferred output:
  xyz   desc1   12  56
  uvw   desc2   55  88
  pqr   desc3   12   0
Run Code Online (Sandbox Code Playgroud)

目前我使用 awk 作为粘贴命令:

  paste <(awk '{print $1}' file1) <(awk '{print $2}' file1) <(awk '{print $3}' file1) <(awk '{print $3}' file2) 
Run Code Online (Sandbox Code Playgroud)

但这似乎只合并重叠的列。awk 中有没有办法插入零而不是省略行本身?

我需要将 100 个文件组合在一起,这样我的输出文件将包含 102 列。

awk text-processing paste

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

合并第一列和第二列;第 3 和第 4 列等带有分隔符

我有一个包含 61000 列和 173 行的文本文件。我想合并每 2 列的数据,即第 1 列和第 2 列应该合并,第 3 列和第 4 列应该合并,第 5 列和第 6 列应该合并,依此类推。

示例输入(制表符分隔):

Ind Pop scaffold1   X   scaffold1   X.1 scaffold3   X.2 scaffold4   X.3
a   antartica   1   1   1   1   2   2   1   1
b   antartica   1   1   1   1   2   1   1   2
c   antartica   1   1   1   1   2   1   1   1
d   antartica   1   1   1   1   2   1   1   2
e   antartica   1   1   1   1   2   1   1   2 …
Run Code Online (Sandbox Code Playgroud)

perl text-processing r

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

标签 统计

text-processing ×2

awk ×1

directory ×1

files ×1

paste ×1

perl ×1

r ×1

rename ×1

sort ×1