Windows, эквивалентный из команды 'хвоста'

else if (choice=='q')
{
    qtr++;

    switch (qtr)
    {
        case(2): strcpy(qtrs,"nd");break;
        case(3):
        {
           strcpy(qtrs,"rd");
           cout<<"End of First Half!!!";
           cout<<" hteam "<<"["<<hteam<<"] "<<hs;
           cout<<" vteam "<<" ["<<vteam;
           cout<<"] ";
           cout<<vs;dwn=1;yd=10;

           if (beginp=='H') team='V';
           else             team='H';
           break;
       }
       case(4): strcpy(qtrs,"th");break;
103
задан Andreas Rejbrand 12 January 2018 в 10:32
поделиться

7 ответов

Точного эквивалента нет. Однако существует собственная команда DOS "more", у которой есть опция + n, которая начнет вывод файла после n-й строки:

Подсказка DOS:

C:\>more +2 myfile.txt

Вышеупомянутая команда выведет все после первых двух строк.
На самом деле это противоположность Unix head :

Unix console:

root@server:~$ head -2 myfile.txt

Вышеупомянутая команда напечатает только первые 2 строки файла.

87
ответ дан 24 November 2019 в 04:15
поделиться

Не думаю, что есть выход из коробки. В DOS такой команды нет, и пакетные файлы далеко не ограничены для ее моделирования (без особых проблем).

-2
ответ дан 24 November 2019 в 04:15
поделиться

На этой странице есть бесплатная утилита head , которую вы можете использовать. Я еще не пробовал.

1
ответ дан 24 November 2019 в 04:15
поделиться

Ну, это будет сделать , но это примерно так же быстро, как кажется (примерно O (n * m), где n - количество отображаемых строк, а m - общее количество строк в файле):

for /l %l in (1,1,10) do @for /f "tokens=1,2* delims=:" %a in ('findstr /n /r "^" filename ^| findstr /r "^%l:"') do @echo %b

Где «10» - это количество строк, которые вы хотите напечатать, а «filename» - это имя файла.

8
ответ дан 24 November 2019 в 04:15
поделиться

При использовании more + n, о котором уже упоминал Мэтт, чтобы избежать пауз в длинных файлах, попробуйте следующее:

more +1 myfile.txt> con

Когда вы перенаправляете вывод из more, он не Пауза - и тут ты перенаправляешь на консоль. Вы можете аналогичным образом перенаправить на другой файл, подобный этому, без дополнительных пауз, если это ваш желаемый конечный результат. Используйте>, чтобы перенаправить в файл и перезаписать его, если он уже существует, или >>, чтобы добавить в существующий файл. (Можно использовать любой из них для перенаправления на con.)

7
ответ дан 24 November 2019 в 04:15
поделиться

Если вам нужна команда head, один из простых способов получить ее - это установить Cygwin. Тогда в вашем распоряжении будут все инструменты UNIX.

Если это не лучшее решение, вы можете попробовать использовать findstr и выполнить поиск индикатора конца строки.

findstr в MSDN : http://technet.microsoft.com/en-us/library/bb490907.aspx

2
ответ дан 24 November 2019 в 04:15
поделиться

Вы можете получить CoreUtils из GnuWin32 , который представляет собой набор стандартных инструментов unix, перенесенных на Windows.

Он, среди прочего, содержит head.

17
ответ дан 24 November 2019 в 04:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: