Linux实用小技巧

2023-10-15  本文已影响0人  可能性之兽

读取若干个文件,一次性生成markdown

ls -1tr | xargs -I % sh -c 'echo "## % "; echo "\`\`\` shell"; cat %; echo "\`\`\`"' >../Runlog.md

tee重定向

要在运行 bash 脚本的同时将输出重定向到日志文件,并且也在终端显示,可以使用 tee 命令。tee 命令读取从 stdin(标准输入)来的数据,并将其写入到一个或多个文件中,同时也将其复制到 stdout(标准输出,即终端或控制台)。

以下是如何使用 tee 命令来运行脚本并将输出重定向到一个日志文件:

bash run.sh 2>&1 | tee log.txt

在这个命令中,2>&1 会将 stderr(标准错误)重定向到 stdout,所以 tee 命令会同时接收到 stdout 和 stderr 的所有输出。然后 tee 命令将这些输出写入到 log.txt 文件中,同时也将其复制到终端。

这样,就可以在终端看到脚本的输出,同时所有的输出也会被保存到 log.txt 文件中。

多线程方法

max-procs

cat id_rep2.txt | xargs -n 1 -I ’{}’ --max-procs 5 sh -c "bwa mem mm10.ref.fa sra2/’{}’_1.fastq sra2/’{}’_2.fastq > sra2/ ’{}’.sam"

wait

 1 #!/bin/bash
 2 date
 3 for i in `seq 1 5`
 4 do
 5 {
 6     echo "sleep 5"
 7     sleep 5
 8 } &
 9 done
10 wait  ##等待所有子后台进程结束
11 date

linux shell 多线程执行程序 - 旭东的博客 - 博客园 (cnblogs.com)

上一篇下一篇

猜你喜欢

热点阅读