我是bash命令的新手,非常感谢您的帮助。
我有一个像这样的文件
ATOM 1 N LYS P1852 10.932 0.523 -24.701 1.00 0.00
ATOM 2 HN1 LYS P1852 11.571 0.864 -25.419 1.00 0.00
ATOM 3 HN2 LYS P1852 10.431 1.305 -24.278 1.00 0.00
ATOM 4 HN3 LYS P1852 10.154 0.023 -25.132 1.00 0.00
ATOM 5 CA LYS P1852 11.556 -0.319 -23.640 1.00 0.00
,我需要从所有行的特定位置(假设位置30)删除空格。输出必须如下:
ATOM 1 N LYS P1852 10.932 0.523 -24.701 1.00 0.00
ATOM 2 HN1 LYS P1852 11.571 0.864 -25.419 1.00 0.00
ATOM 3 HN2 LYS P1852 10.431 1.305 -24.278 1.00 0.00
ATOM 4 HN3 LYS P1852 10.154 0.023 -25.132 1.00 0.00
ATOM 5 CA LYS P1852 11.556 -0.319 -23.640 1.00 0.00
我正在尝试sed和其他命令,但直到现在都没有解决方案。
谢谢
答案 0 :(得分:1)
您可以使用cut
:
cut --complement -c 30 input.txt
从手册:
-c, --characters=LIST
select only these characters
--complement
complement the set of selected bytes, characters or fields
--complement
是特定于GNU cut
的(如果不可用):
cut -c -29,31- input.txt
以上命令将删除位置30处的任何字符。如果只想删除空格:
sed -E 's/^(.{29}) /\1/' input.txt