1

私はこれまでにこれを持っています:

sed -n '0,10p' yourfile > newfile

しかし、それは機能していません。空白のファイルを出力するだけです:(

4

4 に答える 4

4

あなたの質問は曖昧なので、ここに私が考えることができるすべての順列があります:

最初の10行のみを印刷します

head -n10 yourfile > newfile

最初の10行をスキップする

tail -n+10 yourfile > newfile

10行ごとに印刷

awk '!(NR%10)' yourfile > newfile

10行ごとに削除

awk 'NR%10' yourfile > newfile
于 2011-04-04T22:59:06.170 に答える
3

(あいまいな質問はあいまいな答えしか持てないので...)

10行ごとに印刷sedするには(GNU ):

$ seq 1 100 | sed -n '0~10p'
10
20
30
40
...
100

または(GNU sed):

$ seq 1 100 | sed '0~10!d'
10
20
30
40
...
100

10行ごとに削除するsedには(GNU ):

$ seq 1 100 | sed '0~10d'
1
...
9
11
...
19
21
...
29
31
...
39
41
...

最初の10行を印刷するには(POSIX):

$ seq 1 100 | sed '11,$d'
1
2
3
4
5
6
7
8
9
10

最初の10行を削除するには(POSIX):

$ seq 1 100 | sed '1,10d'
11
12
13
14
...
100
于 2011-04-04T23:09:15.877 に答える
0
python -c "import sys;sys.stdout.write(''.join(line for i, line in enumerate(open('yourfile')) if i%10 == 0 ))" >newfile

それはもっと長いですが、それは単一の言語です-人がやろうとすることごとに異なる構文やアプラメーターではありません。

于 2011-04-04T23:05:25.220 に答える
0

非GNUsedの場合、10行ごとに印刷するには

sed '10,${p;n;n;n;n;n;n;n;n;n;}'

(GNU sed -n '0~10p':)

10行ごとに削除するには

sed 'n;n;n;n;n;n;n;n;n;d;'

(GNU sed -n '0~10d':)

于 2013-05-13T07:44:52.320 に答える