linux sed给空文件首行插入_linux下批量修改文件后缀名以及合并多行
寫在前面
感謝喬兄送測的公司,讓我終于所有營業
part1講下怎么解決小問題
part2分享談判過程
part3mark張兄的奶茶
PART1 linux下批量修改文件后綴名以及合并多行
近期師兄在做高通量篩菌的工作
這兩天從公司返回了結果
大概是這樣一些文件的集合
其中.seq文件是后面分析要用的
但是這些seq文件中存在一些問題
有的文件總序列是多行的
而師兄后續要使用的是單行的
因此需要把多行的數據合并成單行的,同時還希望把.seq修改為.txt
OK GO!
其實代碼挺簡單的,循環的思路跟我之間寫過的wdnm.sh是一樣的
? # 單個樣品中的嘗試
#cp 84-J238-3-1_27F_TSS20201125-025-7163_D10.seq 84-J238-3-1_27F_TSS20201125-025-7163_D10.txt
## 此處替換\r是因為使用cat -A 發現師兄的文件中的換行符是win系統下的換行符,是\r\n,所以需要刪掉\r來使其變成linux下的換行符
#sed -i 's/\r//g' 84-J238-3-1_27F_TSS20201125-025-7163_D10.txt
#echo `tr -d "\n"? <84-J238-3-1_27F_TSS20201125-025-7163_D10.txt ` >84-J238-3-1_27F_TSS20201125-025-7163_D10.txt
#--------------------------批量樣本的處理--------------------
# 獲得seq文件的列表
ls *.seq > count.list
?# 把.seq去掉,獲取seq文件的名字
sed 's/.seq//g' count.list > txt.list
# 通過循環來處理每一個文件
for i in `cat txt.list` ;do
? cp ${i}.seq? ${i}.txt
? sed -i 's/\r//g' ${i}.txt
? echo `tr -d "\n"? ${i}.txt
done
# 刪除多余的文件
rm *.list
最后保存腳本修改下權限和加入環境中就可以使用了
直接在有seq文件的路徑下運行該腳本即可
腳本可以使用下面的代碼下載
wget https://raw.githubusercontent.com/Xuyifei-NAU/MyScript/main/jiojio.shpart2 談判
part3 《張兄的奶茶》
寫在后面
這個腳本其實也不難,但是還是花了挺長時間,一方面是因為linux的命令忘了好多了,另一方面之前學的也不扎實,比如用sed死活替換不了結尾的換行符,tr的結果直接覆蓋源文件的時候總會把源文件變成空文件,${i}提取名字的時候,一直報錯,想了好久才發現,在設置循環值的時候就出現了問題……太難了
值得慶幸的是,但是思路還是很清晰的,并且實現了想要的功能(沒有因為很多不符合預想的輸出而放棄)
白天聽完博士和碩士的開題,感覺大家真的太強了,不管是實驗還是分析
自己這求學之路,不知道1%走完了沒……
預祝狒狒姐明天答辯順利
晚安
總結
以上是生活随笔為你收集整理的linux sed给空文件首行插入_linux下批量修改文件后缀名以及合并多行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cydia收费插件源_Cydia消失了怎
- 下一篇: jmeter响应断言使用_十二、Jmet