Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

3
如何将排序的文件保存在单独的目录中?
我有一个名为baypass的文件夹,其中包含2181个文件,如下所示(仅几个文件为例): anacovis2_210_summary_betai_reg.out_new anacovis2_2110_summary_betai_reg.out_new anacovis2_2111_summary_betai_reg.out_new anacovis2_2112_summary_betai_reg.out_new 我想对它们全部进行排序,所以我用了 ls -v -1 这为我完成了排序工作,但是我想将这些排序后的文件保存在目录中。因此,当我键入“ ls -v -1”时,文件将被排序,但是如果键入pwd或ls或任何其他命令,它们将再次不排序。那么如何保存已排序的文件?我想对它们进行排序和保存,以便能够合并它们。文件的顺序非常重要。

2
与grep相同匹配不同的打印
早些时候通过grep在这里获得了一些有价值的帮助,因此希望我也能解决这个问题。 这是来自Rclone日志 Transferred: 577.080M / 577.080 MBytes, 100%, 12.660 MBytes/s, ETA 0s Errors: 0 Checks: 2 / 2, 100% Transferred: 2 / 2, 100% Elapsed time: 45.5s 我想做的是创建一个包含自定义文本的电子邮件通知。类似于“已传输577 MBytes,25.5个错误,在125.5 MBytes / s下的45.5秒内有0个错误的文件” 为此,我需要打印值。我没有运气就以以前的方式尝试过。在日志中将其传输了两次,如何拆分它们以获取TRF = 577.080Mbytes和TRS = 12.660 MBytes / s TRF=$(grep -o 'Transferred:.*' $logfile| cut -d\ -f4) ERR=$(grep -o 'Errors:.*' …
grep 

2
无法将分区的sdb1挂载到目录
我添加了一个sdb磁盘,上面有一个sdb1: [root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 111.8G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 111.3G 0 part ├─centos00-swap 253:0 0 7.8G 0 lvm [SWAP] ├─centos00-root 253:1 0 50G 0 lvm / └─centos00-home 253:2 0 53.5G 0 lvm …
linux  centos  disk 

2
如何从Shell变量获取路径的文件名部分
Shell变量包含路径。一个人如何获得其文件名部分? 在bash(1)中,我进行了实验,发现可以使用."${i/*\///}"where i是环境变量的名称来进行操作。这种方法不仅丑陋,而且在路径不包含任何/字符的情况下也是错误的。 我将演示一个需要这种功能的实际案例。假设我们要为源目录中的每个PDF文件建立到当前目录的符号链接。 $ for i in /source/path/*.pdf; do\ ln -s "$i" ."${i/*\///}"; \ done

2
删除方括号之间的所有内容
我只想删除以方括号“>”开头的行(包括方括号)在内的所有内容。有sed替代方法吗?另外,想按字母顺序对行进行排序,也就是以“>”开头的行及其下一行。 输入示例: >ID:000:FLKLNFIA_00192 |[Ignicoccus_hospitalis_KIN4-I.gbfspecies]|strain|Ignicoccus_hospitalis_KIN4-I.gbf|LSU ribosomal protei..|447|FLKLNFIA_1(1297538):162644-163090:1 ^^ Archaeagenomesparanahui Ignicoccus_hospitalis_KIN4-I.gbfspecies strain strain.|neighbours:ID:000:FLKLNFIA_00191(1),ID:000:FLKLNFIA_00193(1)|neighbour_genes:LSU ribosomal protei..,SSU ribosomal protei..| ATGAGTGTGACTA---TTT---GCAATCAGCTAGCTACTACGTACTGATCGTAGCTGACG >ID:000:MGCDKLCO_01184 |[Archaeoglobus_fulgidus_DSM_4304.gbfspecies]|strain|Archaeoglobus_fulgidus_DSM_4304.gbf|50S ribosomal protei..|471|MGCDKLCO_1(2178400):1005279-1005749:1 ^^ Archaeagenomesparanahui Archaeoglobus_fulgidus_DSM_4304.gbfspecies strain strain.|neighbours:ID:000:MGCDKLCO_01183(1),ID:000:MGCDKLCO_01185(1)|neighbour_genes:LSU ribosomal protei..,SSU ribosomal protei..| ATGCGCGCGATAGCTAGCTAGCTAGCTTTAGGGGGATTAGCTA----ACTCTGATTCGGA 预期产量: >Archaeoglobus_fulgidus_DSM_4304.gbfspecies ATGCGCGCGATAGCTAGCTAGCTAGCTTTAGGGGGATTAGCTA----ACTCTGATTCGGA >Ignicoccus_hospitalis_KIN4-I.gbfspecies ATGAGTGTGACTA---TTT---GCAATCAGCTAGCTACTACGTACTGATCGTAGCTGACG 谢谢

1
根据第二列排序,并从最高到最低列出
TGAAACATGCCTTTCACCTCCTGCCATGATTGTGAGGCCT 2 GTGTTGCCCAGGTTGGTTTCAAACTCAGCTCAAGTGATCT 1 GAGACTCCTTCAGGAGACTGGTCCCCTGTCCTCGCCTCTC 3 CATGTTCTCCTGGAAGCCATGTGAGGAAGGCACATCATGG 8 AAGGACATAATCTCATTACTTTTATGGCCGCATAGTATTC 4 AGAGGCAGTGTAAGTGAGGTAGTTGAAAGTATGGACTCTG 2 我想使用第二列将行从最高编号重新排列到最低编号 预期产量 CATGTTCTCCTGGAAGCCATGTGAGGAAGGCACATCATGG 8 AAGGACATAATCTCATTACTTTTATGGCCGCATAGTATTC 4 GAGACTCCTTCAGGAGACTGGTCCCCTGTCCTCGCCTCTC 3 AGAGGCAGTGTAAGTGAGGTAGTTGAAAGTATGGACTCTG 2 TGAAACATGCCTTTCACCTCCTGCCATGATTGTGAGGCCT 2 GTGTTGCCCAGGTTGGTTTCAAACTCAGCTCAAGTGATCT 1
-1 awk  python  sort  bioinformatics  r 


3
搜索一个字符串并打印该字符串及其标题
我需要搜索一个字符串(此处为数字),并使用grep或awk或其他任何内容打印其标题或标题。 请检查以下示例: 输入文件内容: ##### Production_Broad: ##### 678 544 ##### IGHTY_BBBT: ##### 1666 2515 2516 2517 2518 ##### Jaguar: ##### 280 ##### Loyalty: ##### 5179 ##### MC_Addr: ##### 544 577890 ##### erce_Ban_1: ##### 7455 5656 我想搜索数字“ 2515”,它给出以下输出: IGHTY_BBBT: 2515 如果我搜索“ 5179”,则输出应如下所示: Loyalty: 5179

1
命令“查找”输出一条错误消息
我想查询运行命令“ find”时收到的错误消息。在以下段落中,我将解释我要完成的工作。 我有一个父文件夹。在此文件夹中,有许多子文件夹。每个子文件夹中都有许多子子文件夹。我想列出包含特定数量文件的子文件夹。我跑循环如下: #!/bin/bash in=PATH_TO_THE_PARENT_FOLDER for i in ${in}/*; do find ${i} -maxdepth 1 -type d -print0 | xargs -0 -I {} sh -c 'echo -e $(find {} | wc -l) {}' | sort -n | grep -w 69 | awk '{print $2}' #69 represent the total number of files …
-2 shell  find 

2
如何查找安装了OS的磁盘的大小
如何验证磁盘大小(安装操作系统的磁盘) 我们有redhat 7.2 我会举个例子 # disk_os_size=` lsblk | grep sda ` sda 8:0 0 150G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 149.5G 0 part # disk_os_size=` lsblk | grep sda | awk '{print $4}' ` # echo $disk_os_size 150G 500M 149.5G 所以在这种情况下效果不好,因为我们还获得了OS分区 我们想要的只是操作系统磁盘的大小,应该是150G
-2 linux  rhel  disk  fdisk  lsblk 

1
如何在centos 6中将所有传出流量从默认eth0重定向到eth1
在我的AWS AMI Centos服务器中,我已经通过公共ip部署了具有2个子网eth0 10.0.0.1的VPC和Internet网关,而eth1 10.10.0.1则通过公共IP部署了NAT网关,我的问题是我已经将NAT网关Public ip提供给客户端进行交互,或者我们可以通过该子网推送数据。有几个客户端连接到同一台服务器,我不想添加路由来定义ip shd从哪个子网推送数据,我想更改默认值,或者说我所有来自eth1子网的传出流量。..到目前为止,我已经尝试在网络脚本中尝试iptables和更改网关,以查看下面的详细信息。 /etc/sysctl.conf net.ipv4.ip_forward =1 sysctl net.ipv4.ip_forward = 1 sudo iptables -t nat -A POSTROUTING --out-interface eth1 -j MASQUERADE sudo iptables -A FORWARD --in-interface eth0 -j ACCEPT 由于此im无法ping或telnet到客户端ip,因为客户端已打开eth1子网的连接,但是当我将流量从eth0转发到eth1时,它没有更改源地址,而是使用了客户端网络未知的eth0子网ip。 甚至试图更改默认的eth1 **/etc/sysconfig/network GATEWAY=x.x.x.x GATEWAYDEV=eth1** 在这里所有流量阻塞,即使传入流量也更改为eth1。 我的要求是我的传入流量来自eth0子网10.0.0.1,而我的传出流量来自eth1子网10.10.0.1。添加路由将使我的过程更加繁忙,我想自动添加一些命令或脚本来完成所有工作。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.