GNU/Linux >> Linux の 問題 >  >> Linux

unix - ファイルの先頭と末尾

簡単にできます:

(head; tail) < file.txt

何らかの理由でパイプを使用する必要がある場合は、次のようにします。

cat file.txt | (head; tail)

注:file.txt の行数がデフォルトの先頭行 + デフォルトの末尾行より少ない場合、重複した行が出力されます。


純粋なストリーム (コマンドからの出力など) の場合、「tee」を使用してストリームをフォークし、1 つのストリームを先頭に、もう 1 つを末尾に送信できます。これには、bash の '>( list )' 機能 (+ /dev/fd/N) を使用する必要があります:

( COMMAND | tee /dev/fd/3 | head ) 3> >( tail )

または /dev/fd/N (または /dev/stderr) と複雑なリダイレクトを伴うサブシェルを使用:

( ( seq 1 100 | tee /dev/fd/2 | head 1>&3 ) 2>&1 | tail ) 3>&1
( ( seq 1 100 | tee /dev/stderr | head 1>&3 ) 2>&1 | tail ) 3>&1

(これらはどちらも csh や tcsh では機能しません。)

もう少し制御しやすいものについては、この perl コマンドを使用できます:

COMMAND | perl -e 'my $size = 10; my @buf = (); while (<>) { print if $. <= $size; push(@buf, $_); if ( @buf > $size ) { shift(@buf); } } print "------\n"; print @buf;'

ed standard text editor です

$ echo -e '1+10,$-10d\n%p' | ed -s file.txt

Linux
  1. Linuxのヘッドコマンドとテールコマンドを例で説明

  2. Linux – Unixのアクセス許可とファイルタイプを理解していますか?

  3. ファイルのアクセス許可と保存?

  1. リダイレクトとパイプ出力?

  2. イオリダイレクションとヘッドコマンド?

  3. Grep And Tail -f?

  1. Linuxテールコマンドの例

  2. LinuxまたはUNIXでApacheファイルとディレクトリのインデックスを有効にするにはどうすればよいですか?

  3. Linux のファイル アクセス コマンド – find、sort、head、tail