1

を使用して、2 番目の文字と 18 番目の文字の間のすべてをカットしようとしていcut -c-2-18- filenameます。これは指定された文字をすべての行でカットしますが、で始まる行からのみカットしたいと思い>ます。

4

3 に答える 3

1

何かのようなもの

grep ^\> file | cut -c 2-18

トリックを行う必要がありますか?

[92][11:46:21] vlazarenko@alluminium (~/tests) > grep ^\> file | cut -c 2-18
 asdf
 bcda
 ofpjg
[93][11:46:25] vlazarenko@alluminium (~/tests) > cat file
> asdf
> bcda
zxcv
lasdf
> ofpjg
于 2013-02-26T10:45:11.357 に答える
1
awk '/^\>/{print substr($0,2,17)}' your_file
于 2013-02-26T11:00:52.943 に答える
1

GNU grepこれを単独で行うことができます:

$ cat file
>grep from 2 to 18 character line 1
>grep from 2 to 18 character line 2
grep from 2 to 18 character line 3
grep from 2 to 18 character line 4

$ grep -Po '(?<=^>).{17}' file
grep from 2 to 18
grep from 2 to 18

これは、次の 17 文字で 始まる行のみに一致する肯定的な後読みを使用します。>.{17}

またはawk

$ awk '/^>/{print substr($0,2,18)}' file
grep from 2 to 18 
grep from 2 to 18 
于 2013-02-26T10:51:13.580 に答える