問題:
我有一個看起來像這樣的 txt 檔案:
SRA1202321.sra
SRA123221.sra
SRA1209312.sra
我有一個如下所示的目錄:
SRA1202321.sra
SRA123221.sra
SRA1209312.sra
random.sra
random.sra
我想將所有檔案從 .txt 移動到另一個目錄,并留下我不想要的檔案。我是 bash 新手,所以我在做這件事時遇到了一些麻煩。
我試過了:
cat ~working/metasamples.txt |
xargs mv ~/ncbi/public/sra/metasamples/
但似乎有新行字符被添加,所以它說不存在目錄。我目前正在查看 bash 腳本并且也有這個想法:
#!/bin/bash
while read p; do
mv "$p" ~/ncbi/public/sra/metasamples/
done <~/working/metaSRAfromjsoncorrected.txt
但是我不確定如何洗掉新行?部分原因與我很困惑為什么最后給出輸入檔案以及我是否可以像在 python 中那樣調整變數。對不起,如果它有點混亂。
謝謝你的幫助
uj5u.com熱心網友回復:
這可能是 CRLF 行尾的問題。cat你可以使用(在 bash 中)代替:
sed $'s/\r$//' ~working/metasamples.txt |
xargs -I {} mv {} ~/ncbi/public/sra/metasamples/
只要其中的檔案名metasamples.txt不包含任何有問題的字符,這將起作用
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/478113.html
標籤:重击
