读取若干个文件,一次性生成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
网友评论