質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

sed

sedとは、POSIX環境のために作られたコマンドラインエディタです。sedは編集スクリプトの指示のもとに複数のファイルを編集し、標準出力にその結果を出力します。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

Q&A

3回答

569閲覧

シェル関数とsedについて

sgefueheiffd674

総合スコア19

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

sed

sedとは、POSIX環境のために作られたコマンドラインエディタです。sedは編集スクリプトの指示のもとに複数のファイルを編集し、標準出力にその結果を出力します。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

0グッド

0クリップ

投稿2021/06/28 09:53

編集2021/06/28 10:21
#!/bin/bash i="$wc -l * midtext() { ```シェル関数で行の中央を出力するにはどうすればよいですか。 ex) $cat sample.txt aa bb cc $midtext sample.txt bb

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2021/06/28 10:11

文字列はどうやって提供するのでしょうか? また中央の定義は?
sgefueheiffd674

2021/06/28 10:22

文字列の提供は、テキストファイルがあるとします。 中央とは、テキストファイルの中身の真ん中の行であり、奇数行のテキストは真ん中の行を表示し,偶数行の場合は真ん中の2行を表示するということです。
guest

回答3

0

ネタ回答にてしつれいします。

bash

1#!/bin/bash 2 3n=`wc -l hoge.txt` 4x=`expr $n / 2 + 1` 5y=`expr $n % 2 '*' -1 + 2` 6 7head -n $x hoge.txt | tail -n $y

投稿2021/06/28 13:11

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Y.H.

2021/06/28 13:20

「ネタ回答」とのことですが、私ならこっちで書いちゃいますね。
guest

0

N=$(wc -l < ファイル名)で、Nに行数が入るので、あとは算術演算して目的の行番号が決まったら、
sed -n 行番号p ファイル名です。

Bash

1N=$(wc -l < $FILENAME) 2 3if (( N%2==0 )) 4then 5 let X=N/2 Y=N/2+1 6 X=$X,$Y 7else 8 let X=N/2+1 9fi 10 11sed -n ${X}p $FILENAME

投稿2021/06/28 11:17

otn

総合スコア84540

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

シェル関数 midtext を定義したいんですよね。

text

1$ midtext() { n=`wc -l <$1`; sed -n "$(((n+1)/2)),$(((n+2)/2))"p $1; } 2$ cat sample.txt 3aa 4bb 5cc 6$ midtext sample.txt 7bb 8$ cat sample2.txt 9aa 10bb 11cc 12dd 13$ midtext sample2.txt 14bb 15cc 16$

投稿2021/10/14 16:00

kazuma-s

総合スコア8224

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問