Von*_*ton 5 command-line sed rename awk
我怎么能重命名多个文件,比如,
IonXpress_049.T11014.R_2014_11_13_11_26_35_user_PR2-41-Pooling0026_3140_13112014.bam
IonXpress_050.T11114.R_2014_11_13_11_26_35_user_PR2-41-Pooling0026_3140_13112014.bam
Run Code Online (Sandbox Code Playgroud)
到,
T11014.bam
T11114.bam
Run Code Online (Sandbox Code Playgroud)
rename 's/.*?\.([^.]+).*/$1.bam/' *.bam -vn
Run Code Online (Sandbox Code Playgroud)
-vn当你可以看到它做你想要的时删除它。这是我的测试工具:
$ touch 34234234kh.TESTING00{1..3}.234978623478y234.bam
$ rename 's/.*?\.([^.]+).*/$1.bam/' *.bam -vn
34234234kh.TESTING001.234978623478y234.bam renamed as TESTING001.bam
34234234kh.TESTING002.234978623478y234.bam renamed as TESTING002.bam
34234234kh.TESTING003.234978623478y234.bam renamed as TESTING003.bam
Run Code Online (Sandbox Code Playgroud)
有几种方法可以从命令行重命名。这是一个单班轮。转到.bam文件所在的目录并尝试这个,
for i in *.bam; do mv "$i" "$(echo $i | awk -F"." '{print $2}').bam"; done
Run Code Online (Sandbox Code Playgroud)
因为我在 *.bam
做
mv 源目标
完毕
.使用awkas分隔的字符串的第二个字段, $ echo IonXpress_049.T11014.R_2014_11_13_11_26_35_user_PR2-41-Pooling0026_3140_13112014.bam | awk -F”。'{打印 $2}'
$ T11014
可以使用-F选项使用自定义字段分隔符。查看man awk更多。
您可以使用精彩的krename程序:
sudo apt-get install krename
Run Code Online (Sandbox Code Playgroud)
在这个程序中,您可以预览结果,特别是可以使用特定范围的文件名掩码:

面具在?。在 ? 处看到原始文件名。以及 ? 处的待命名名称。如果看起来不错,您可以按完成:?— 只有在此之后,文件才会真正被重命名。
| 归档时间: |
|
| 查看次数: |
4658 次 |
| 最近记录: |