記錄shell常用操作 2024-08-19

檢查文件是否存在

cat list | while read line
do
arr=(${line//\\t/ })
mkdir ${arr[0]}"~" && cd ${arr[0]}"~"

filename="work_"${arr[0]}".sh"
cat>"${filename}"<<EOF
cat ../${arr[0]} | while read line
do
ar=(\${line//\\\t/ })
file=\${ar[1]}
#record=${arr[0]}"_rd"
if [ -f \$file ];then
  echo "True" >> record
  else
  echo "False" >> record
fi

paste ../${arr[0]} record > ${arr[0]}"_0207"
done
EOF

qsub -cwd -l vf=1g,num_proc=1 -q st.q -P P20Z10200N0059 -binding linear:4 $filename

cd ../

done

同步文件命令

rsync -acvotglp SourcePath TargetPath

創(chuàng)建數(shù)組和模糊搜索文件

line='col1  col2  col3  col4'
arr=(${line//\\t/ })
mkdir ${arr[0]} && cd ${arr[0]}
name=${arr[0]}
cdna=${arr[1]}
oligo=${arr[2]}
output=${arr[3]}
cdnaf1=$(find $cdna |xargs ls -Rd | grep 1.fq.gz)
cdnaf2=$(find $cdna |xargs ls -Rd | grep 2.fq.gz)

標(biāo)準(zhǔn)打印內(nèi)容到指定文件

name='test'
filename="work_"$name".sh"
cat>"${filename}"<<EOF
Rscript "creat_input_"$name".R"
EOF

也可以直接使用echo

echo "Rscript creat_input_${name}.R" > "${filename}"

交互輸入?yún)?shù)

read -p "Please enter a target directory or enter with nothing(current directory) :" dir
cat $1 | while read line
do
echo $1
done

根據(jù)文本生成報(bào)告

rm -rf *$1*
cat datasets_list | while read line
do
arr=(${line//\\t/ })
name=${arr[0]}
path=${arr[1]}

cat $path/$name/07.report/$1| cut -d ',' -f 2 |tr "\n" ","|xargs -I {} echo ${name}","{} >> $1\.xls

done
sed -i 's/,/\t/g' $1\.xls

cat 07.report/$1|cut -d ',' -f 1|tr "\n" ","|xargs -I {} echo ${name}","{}|sed  's/ /_/g'|sed 's/,/\t/g' > header_$1\.txt

cat header_$1\.txt $1\.xls > $1\_overall.xls

簡(jiǎn)易for循環(huán)

for i in A B C D E F G all ;
do
echo $i
done

Job_progress

read -p "Please enter a target directory or enter with nothing(current directory) :" dir
if [ ! $dir];then
  dir=$(echo $PWD)
fi
echo you have entered $dir

aimdir=`find $dir -maxdepth 2 -type d | grep \\\-*\\- `
num=0
done=0
err=0
undo=0
run=0
dat=`date '+%D'|sed -e s/[/]/_/g`

rm -rf *_list_$dat

mkdir -p "00.stat_list_"$dat;cd "00.stat_list_"$dat

for i in ${aimdir}
do
#Total tasks: num+undo
  if [ -d ${i}/*2.fq.gz ]; then
    num=$(($num+1))
  else
    undo=$(($undo+1))
    echo -e "\033[31;1m NOTE!!! $i STATE: \t UNDO \033[0m"
    echo $i >> undo_list_$dat
  fi

#Done tasks
  if [ -f ${i}/*2.fq.gz ]; then
    done=$(($done+1))
    echo $i >> done_list_$dat
  fi

#Error tasks and running tasks
fl=$(ls -lh ${i} |grep .sh.e|grep " 0 ")
  if [ "$fl" = "" ]; then
    err=$(($err+1))
    echo $i >> error_list_$dat
    echo -e "\033[31;1m NOTE!!! $i STATE: \t ERROR \033[0m"
  else
    if [ -d ${i}/*2.fq.gz ]; then
      if [ ! -f ${i}/*2.fq.gz ]; then
        run=$(($run+1))
        echo $i >> run_list_$dat
      fi
    fi
  fi

done

echo -e "\t\033[0mTotal tasks: \t\t $((num+undo)) \n\tSTATE:\033[29;1m \t\t Sample Count  "
echo -e "\tUNDO:\033[31;1m \t\t ---Undo tasks--- \t  ${undo} \033[0m"
echo -e "\tERROR:\033[31;1m \t\t +++Error tasks+++ \t  ${err} \033[0m"
echo -e "\tRUNNING:\033[34;1m \t ===Running tasks=== \t ${run} \033[0m"
echo -e "\tDONE:\033[32;1m \t\t ***Done tasks*** \t ${done} \033[0m"

遞歸統(tǒng)計(jì)文件內(nèi)存

declare -a array=()

while read line
do
    #echo $line
    array[${#array[*]}]=$line
done < $1

echo "du -sh ${array[*]}"
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末交洗,一起剝皮案震驚了整個(gè)濱河市瓶珊,隨后出現(xiàn)的幾起案子蹂析,更是在濱河造成了極大的恐慌色瘩,老刑警劉巖糖权,帶你破解...
    沈念sama閱讀 206,013評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件举畸,死亡現(xiàn)場(chǎng)離奇詭異箕别,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)彭雾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)碟刺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人薯酝,你說(shuō)我怎么就攤上這事半沽。” “怎么了吴菠?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,370評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵者填,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我做葵,道長(zhǎng)占哟,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,168評(píng)論 1 278
  • 正文 為了忘掉前任蜂挪,我火速辦了婚禮重挑,結(jié)果婚禮上嗓化,老公的妹妹穿的比我還像新娘棠涮。我一直安慰自己,他們只是感情好刺覆,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布严肪。 她就那樣靜靜地躺著,像睡著了一般谦屑。 火紅的嫁衣襯著肌膚如雪驳糯。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 48,954評(píng)論 1 283
  • 那天氢橙,我揣著相機(jī)與錄音酝枢,去河邊找鬼。 笑死悍手,一個(gè)胖子當(dāng)著我的面吹牛帘睦,可吹牛的內(nèi)容都是我干的袍患。 我是一名探鬼主播,決...
    沈念sama閱讀 38,271評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼竣付,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼诡延!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起古胆,我...
    開(kāi)封第一講書(shū)人閱讀 36,916評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤肆良,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后逸绎,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體惹恃,經(jīng)...
    沈念sama閱讀 43,382評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評(píng)論 2 323
  • 正文 我和宋清朗相戀三年桶良,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了座舍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,989評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡陨帆,死狀恐怖曲秉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情疲牵,我是刑警寧澤承二,帶...
    沈念sama閱讀 33,624評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站纲爸,受9級(jí)特大地震影響亥鸠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜识啦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評(píng)論 3 307
  • 文/蒙蒙 一负蚊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧颓哮,春花似錦家妆、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,199評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至姨伤,卻和暖如春哨坪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乍楚。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,418評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工当编, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人徒溪。 一個(gè)月前我還...
    沈念sama閱讀 45,401評(píng)論 2 352
  • 正文 我出身青樓忿偷,卻偏偏與公主長(zhǎng)得像拧篮,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子牵舱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容