• 締切済み

shシェルでのファイル操作

初心者です。 shシェルであるファイルの先頭行及び最終行を削除して別ファイル(新規)に書き出したいのですが、何か良い方法があれば教えてください。 (例) 元ファイル(AAA)の内容 1234567 aaaaaaa bbbbbbb ccccccc 7654321 削除後のファイル(BBB)の内容 aaaaaaa bbbbbbb ccccccc

みんなの回答

  • notnot
  • ベストアンサー率47% (4843/10252)
回答No.1

sed -e 1d -e '$'d infile > outfile が一番簡単でしょう。$ は最終行を表し、見たまんま、1行目と最終行を削除(d)します。

ken_ishi
質問者

お礼

有難う御座います。実行後、うまくいきました。

関連するQ&A

  • excelで空白行を無視する方法

    excel2003について質問です。 「20090909aaa.xls」 aaaaaaa bbbbbbb ccccccc ******* 「20090909bbb.xls」 xxxxxxx yyyyyyy zzzzzzz ******* という内容で複数のxlsファイルがあったとします。 その複数ファイルを********を区切りに、 aaaaaaa bbbbbbb ccccccc xxxxxxx yyyyyyy zzzzzzz という風に並べたファイルを作りたいのですが、 cccccccの後にある空白行を無視する方法が分かりません。 値が入って入ればそれを表示して、無ければ次の行のセルを見て、 隙間無く表示するにはどういう風に書けばいいのでしょうか?

  • シェルスクリプトについて

    シェルスクリプトについて Linuxで先頭にスペースが入っている行をひとつ上の行につなげたいと考えています。 その場合、シェルスクリプトはどのように書けばよいかご教示願います。 【ファイル内容】 aaa △bbb ccc ddd (b行の先頭のみスペース(△)が入っています。) 【変換後のファイル】 aaa bbb ccc ddd

  • Cシェルでテキストファイルの行削除方法

    現在、Cシェルの勉強をしていますが、ある文言に完全一致した行のみ削除する方法が分かりません。 例として、下記のようなファイルがあり、"AAA"を指定して削除しようとすると、"AAA_1"までも削除されてしまいます。 例)test.txt AAA aaa AAA_1 aaa BBB bbb CCC ccc お手数ですがご教授いただけると幸いです。 以上、宜しくお願い致します。

  • シェルで特定行を処理する方法を教えてください。

    初めてご質問させていただきます 数時間考えましたが、全くできない初心者です。 awkとかも使ってみましたが・ちんぷんかんぷんです。 よろしくお願いいたします。 環境:RedHat、シェル:bash [やりたいこと] 特定の文字以外から始まる行を、 特定文字から始まる行へ連結させたい。 (例  aaaから始まっていない行(bbb、ccc、ddd)を、  aaaから始まる行へ出力させる。 ■元となるテキストファイル ============ aaa bbb ccc ddd aaa aaa aaa eee aaa ============ ■整形後のファイル ============ aaabbbcccddd aaa aaa aaaeee aaa ============

  • unixのシェルでファイル内容を読み込む

    ど初心者です。わかりづらいかもしれませんが宜しくお願いします。 以下のような処理を行いたいと考えています。 (1) aaa.sh(シェルスクリプト)にてバッチプログラムを起動 (2)バッチでエラーの場合、結果ファイル(bbb.txt)に「1」を出力する。 (3)aaa.sh(シェルスクリプト)にて結果ファイルの内容を読み取り「1」の場合は、再度バッチプログラムを起動する。 このうち(3)の処理にて、結果ファイルの読み込み方法がわかりません。 調べた結果、以下のような処理で可能なようですが・・ while read LINE; do echo $line done < aaa.txt 読み込むのは1行なので、ループ処理にはしたくないのですが、例えば「read LINE aaa.txt」のような簡単なコマンドで、ファイルの中身を読み込むことはできないのでしょうか? 実はUNIXが初めてで、しかもスケジュールに余裕がないため焦っております。 なにぶん知識不足な故、ちんぷんかんぷんな質問かも知れませんが、よろしくお願いいたします。

  • シェルスクリプトの引数について

    test.sh '*.c' といったコマンドを入力した時に、 シェルスクリプト内で引数$1を受け取ったときに$1='*.c'となるのではなく、 カレントディレクトリ内にある'*.c'の正規表現にマッチするファイルが入ってしまっています。 例)カレントディレクト内にaaa.cファイルbbb.cファイルといったファイルがある時は、 $1=aaa.c bbb.cとなっています。 '*.c'の正規表現自体をシェルスクリプト内で受け取る方法はないのでしょうか? シェルはbashを使用しています。

  • シェルの中から他のシェルを呼び出す

    例えば、ひとつのシェルファイル( aaa.sh )の中に、 ------------------------- #!/usr/bin/csh set HOME=/home/test/tmp bbb.sh ------------------------- と記述した場合、bbb.shで変数$HOMEを使いたいと思いましたが、 使えないようです。(HOME: 未定義の変数と表示されます) どなたか、これ以外の方法で、このように シェルからほかのシェルを呼び出して、変数も引き継がれるような方法ご存知ないでしょうか? 多分こーやれば、こうなるかも!みたいなご回答でも結構ですので情報提供をお願いします。 どうぞ宜しくお願い致します。

  • ファイル操作

    C++で簡単なテキストエディタに追加機能をつけるという課題 なのですが、その中の文字列挿入編。 あるテキストファイルが aaa bbbbbbb cc だとして、 2行目の先頭にdddと挿入したい場合。 つまり2行目をdddbbbbbbbとしたい。 今、currentLineとして2行目の先頭をポインタがさしていると仮定。 入力値はstring型でdddのみ。 どのように書いたらいいのでしょう。 アイデアを頂けるとうれしいです。 標準ライブラリでInsertみたいなのってあるんですか?

  • エクセルのセルの行間調整について

    どなたかご存知のかた申し訳ありませんが教えて下さい。 エクセルで1つのセル内を”Alt+Enter”で改行し、数行入力したとします。 その後、行全体が上手く表示されていないので、横の行間をクリックし 自動で1つのセルの行間を調整しようとすると、1行に縮まってしまいます。 このようにならない設定はあるのでしょうか。 宜しく御願い致します。 ※これになる時とならない時があるのですが。 以下イメージです。 -- 30| --|------------------ |aaaaaaa 31|bbbbbbb |ccccccc --|------------------ 32| -- -- 30| --|------------------ |aaaaaaa 31|bbbbbbb |ccccccc --|------------------ ←行間を自動で調整する為、ココをクリック 32| -- -- 30| --|------------------ 31|aaaaaaa --|------------------ 32| --

  • テキスト処理のシェルプログラム

    UNIXシェルもしくはPerlでテキスト処理のシェルスクリプト を作成したいのですがご教授お願いします 1000行あるテキストファイルを 2行単位で区切り2行単位で横一列へ置換しテキストへ出力したいのですが 例 処理前 aaa bbb ccc ddd eee fff 処理後 aaa,ccc,eee bbb,ddd,fff ご教授よろしくお願いします