如何使用 'sed' 仅打印带有“1”的行
How to use 'sed' to print lines with '1' ONLY
我有一个文件,其中包含有关所有 23 对染色体 (CHROM) 的信息。我想将有关 1 号染色体的所有信息写入输出文件。因此,该行的第一个字符只能为“1”。
我如何使用 sed 或 (awk?) 来最好地做到这一点?
我在下面尝试了这个但是添加了行号以及其他杂项...
sed -e = '/^1/' input.vcf > output_CHROM1.vcf
示例文件:
##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral Allele">
#CHROM POS ID REF ALT QUAL FILTER INFO
1 69224 COSM3677745 A C . . COSMIC_71;TSA=SNV
2 69230 COSM3677746 A C . . COSMIC_71;TSA=SNV
23 69230 COSM3677746 A C . . COSMIC_71;TSA=SNV
使用 -n
不打印输入并将 p
添加到模式以打印匹配的行:
sed -n '/^1\b/p' input.vcf > output_CHROM1.vcf
grep
的一项简单且非常典型的任务:
grep '^1\b' input.vcf > output_CHROM1.vcf
我有一个文件,其中包含有关所有 23 对染色体 (CHROM) 的信息。我想将有关 1 号染色体的所有信息写入输出文件。因此,该行的第一个字符只能为“1”。
我如何使用 sed 或 (awk?) 来最好地做到这一点?
我在下面尝试了这个但是添加了行号以及其他杂项...
sed -e = '/^1/' input.vcf > output_CHROM1.vcf
示例文件:
##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral Allele">
#CHROM POS ID REF ALT QUAL FILTER INFO
1 69224 COSM3677745 A C . . COSMIC_71;TSA=SNV
2 69230 COSM3677746 A C . . COSMIC_71;TSA=SNV
23 69230 COSM3677746 A C . . COSMIC_71;TSA=SNV
使用 -n
不打印输入并将 p
添加到模式以打印匹配的行:
sed -n '/^1\b/p' input.vcf > output_CHROM1.vcf
grep
的一项简单且非常典型的任务:
grep '^1\b' input.vcf > output_CHROM1.vcf