[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2ch.scのread.cgiへ]
Update time : 02/23 17:28 / Filesize : 192 KB / Number-of Response : 636
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました



1 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/08/02(木) 05:22:16.82 .net]
シェルスクリプトの総合スレです。
□お約束
・特記なき場合はBourne Shell(/bin/sh)もしくはPOSIX準拠の互換シェルがデフォルトです。
 bash/zsh/ksh/ash/dash/yash/poshなどの専用機能に依存する場合は明示しましょう。
 Linuxユーザは/bin/shの正体がbashまたはdashなので特に注意。
 FreeBSDユーザは/bin/shの正体がashなので注意。
・POSIXについてのリンクは https://en.wikipedia.org/wiki/POSIX にまとめられています
 最新の仕様はこちらへ pubs.opengroup.org/onlinepubs/9699919799/
 (左上の「Shell & Utilities」 から参照することができます。)
・v7 shに一番近くて、現役(?)のshは、OpenSolaris由来のheirloom sh。
  src.illumos.org/source/xref/illumos-gate/usr/src/cmd/sh/
  heirloom.sourceforge.net/sh.html
・csh/tcshのシェルスクリプトは推奨されません。
 (理由は「csh-whynot」でググれ)
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。
 manや参考リンクを見ましょう。
 aproposないしはman -kでそれらしい単語による簡単な検索もできます。
・シェルで使えるワイルドカード等は正規表現ではありません。
 正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆうな
□初心者へのアドバイス:
・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも
 awkまたはperlの方が適した

189 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/02/26(水) 03:34:54.75 .net]
5年くらいするとセキュリティパッチが出なくなって使用禁止になるから
また作り直しになるんだろうどうせ。

190 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/13(金) 23:32:50.67 .net]
例えば中身が
3,soba,inarizusi,hishimoti,ushioziru ...
のcsvファイルなら最初の数字が3なので以下の文字列の3番目をつないで soBa inArizusi hiShimoti usHioziru ... でbash ... というように
csvファイルの最初の値で以降の処理が変わる場合はどうすればいいでしょうか?
一度ファイルを最後まで空読みすれば簡単なのですが、読み込みは1度で終わらせたいです。

191 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/14(土) 16:01:32.08 .net]
宿題は自分でやりなよ

192 名前:名無しさん@お腹いっぱい。 [2020/03/14(土) 17:54:51 .net]
>>186
なんでそんな分かりづらい説明するんだ?

193 名前:名無しさん@お腹いっぱい。 [2020/03/14(土) 17:55:37 .net]
全く意味がわからん。
誰か翻訳してくれ

194 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/14(土) 18:20:44 .net]
>>186
引数で単語と数字nを受け取ってn文字目の単語を返す関数を書けばいいだけ

195 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/14(土) 18:34:21 .net]
>>190
日本語ではなくてbashでお願いします!!

196 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/14(土) 18:41:35 .net]
>>189
結果だけ見たら

入力テキストをカンマで区切って
最初の数値を取得 ⇒ nとする
残りの文字列のn番目の文字をアッパーケースに変換して空白区切りで連結する

かな
俺ならテキストが小さいならBashで一気に読んで処理すればいいと思うしでかいならPythonとかで処理する

197 名前:名無しさん@お腹いっぱい。 [2020/03/14(土) 20:00:13 .net]
> 俺ならテキストが小さいならBashで一気に読んで処理すればいいと思うしでかいならPythonとかで処理する
これはなんで? 小さいとかの境目はどれくらい?



198 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/14(土) 20:15:35 .net]
そんなこと聞いてくるようではセンスがないよ
センスがない奴にいくら説明しても無駄

199 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/14(土) 20:18:24 .net]
pythonだと単語のn文字目を取り出すなんて朝飯前だしな
関数書く手間が一つ省ける

200 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/14(土) 20:24:34 .net]
疑問になった点は「テキストが小さいなら」です。
その他の話は聞いてません。

201 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/14(土) 20:26:37 .net]
> pythonだと単語のn文字目を取り出すなんて朝飯前だしな

単語の3文字目(オフセット2から1文字)を取り出す
echo "${str:2:1}"

Pythonだとどう朝飯前なんですか?

202 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/14(土) 20:48:13 .net]
早く答えのスクリプトを書いてください!!
遅いですよ!!

203 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/14(土) 21:05:30 .net]
>>196
個人的には今どきなら1MB以下なら小さい1GB以上ならでかい
その間ならケースバイケース
PCの性能やメモリ容量とかと相談

204 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/14(土) 21:19:09 .net]
>>186
> 一度ファイルを最後まで空読みすれば
これはどういうスクリプトなの?

205 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/14(土) 22:00:38.59 .net]
>>199
1MBってことは、1行256バイトとして4096行以下なら小さいってことですね。
10MBで約4万行、100MBで約40万行、1GBで400万行
昔のExcelの制限が1シート65000行だったことを考えると
エクセルで扱えるデータなら問題なさそうですね

206 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/14(土) 22:38:14.38 .net]
アスペかよw
アスペならちゃんと改行コードも数えるんだぞ?

207 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/15(日) 13:40:07 .net]
>>202
お前なんのためにレスしたの?
>>201が言ってることは正しいし、お前の主張は何も含まれていない。
ただ、レスしただけ



208 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/20(金) 18:13:05 .net]
185です。説明不足ですみません。
やりたいことは1行目を読み取り、2行目以降はそのままwhileループで最後まで読みたいのです。
ただそのためだけにフラグを使うのもなんだかなぁと。

209 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/20(金) 19:59:54 .net]
わざわざ空読みする理由が分かんねえ
今出来てる状態のスクリプト貼って何がうまく行かないのか説明してみ

210 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/21(土) 00:02:26 .net]
#!/bin/sh

お願いします

211 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/21(土) 00:18:20 .net]
>>206
そこまでは上手く書けてる
その調子で頑張れ

212 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/21(土) 13:58:51.87 .net]
>>191
今日一番ワロタ
キミもbashで質問しなよ

213 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/21(土) 14:07:34.22 .net]
bash は重複しない4文字である。つまり2bitのデータと考えられる
日本語を1文字16bitのデータと考えると、
1文字をbashの4文字×8組=32個のデータで表現できる
つまりbashで質問すると32倍のデータが必要になる
1レスに2048バイト、1024文字を書き込めるから32文字の質問であれば
bashで質問することは可能

214 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/21(土) 15:26:35 .net]
向いてないんだろ
こういうの

215 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/22(日) 10:34:31.24 .net]
>>209
> 1文字をbashの4文字×8組=32個のデータで表現できる

この行から間違えてるだろ

216 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/22(日) 17:21:49.94 .net]
>>200
こいうんじゃね?

というのを期待してた?残念w

217 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/23(月) 20:28:21 .net]
>>212
while IFS=, read は思いつくけど
最後まで空読みってどんな処理なのか気になっただけ



218 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/03/24(火) 21:32:10 .net]
>>197
>>> str = "foobarbaz"
>>> print(str[3])
b

python3は重いかわりに色々便利なのが定義されてる

219 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/04(土) 22:32:04.93 ID:gwOVmDRaJ]
未経験から半年でフリーエンジニアになれる人の特徴
https://www.youtube.com/watch?v=YCxu0jn52Qw
フリーランスか会社員かどっちが簡単かについての最終回答
https://www.youtube.com/watch?v=JA4JNSmIdxI
【エンジニア】正社員/派遣社員/フリーランスのメリット・デメリットについて
https://www.youtube.com/watch?v=fTG-eMpwhCg
月収1000万円オンラインサロンオーナーの日常【飲み過ぎ】
https://www.youtube.com/watch?v=lPfWZLatYus&t=107s
借金400万円から人生逆転するまでの軌跡
https://www.youtube.com/watch?v=fXdHlFFUjGY
エンジニアはお金を追求してはいけないという年寄りを論破してみた
https://www.youtube.com/watch?v=qJHCmxFv718
プログラミングスクールを否定する老害どもについて
https://www.youtube.com/watch?v=K2SN-Rr0PgY&t=506s
新人叩きしてる古参勢がすぐ儲からなくなる理由
https://www.youtube.com/watch?v=Ch9Ir8O-iqU&t=332s

220 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/11(土) 10:24:56 .net]
タブで字下げされてるテキストファイルの中にある
_TAG("S.T.A.R.T") が含まれる行と
_TAG("E.N.D") が含まれる行との間にある行数を数えるにはどうすればいいでしょうか

221 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/11(土) 11:20:47.30 .net]
...... | sed -n '/_TAG("S.T.A.R.T")/,/_TAG("E.N.D")/p' | wc -l
こんな感じ

222 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/12(日) 07:36:15.54 .net]
さんくす
sedやwcなどの外部コマンド?を使わない方法はありますか?

223 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/12(日) 07:43:15.09 .net]
宿題は自分でやろう

224 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/12(日) 13:13:39.28 .net]
>>218
そういうことするなら
perl5に行きなよ
普通はそれも最初から入ってて、文字処理に強い言語だから
---
そんな処理だと、その処理の前に
タグがネストしてたり、正しく対になっているのか調べれた方が安全
おみあげに類似したコードあげる
https://ideone.com/XCz8Ou
対が壊れてたら -1 を
壊れてないならネストの最大の深さを返す

225 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/12(日) 17:00:27.78 .net]
>>220
ダクネスが居たように見えた

226 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/13(月) 19:58:42 .net]
>>216
問題の意図が明確
その _TAG("S.T.A.R.T") とかは字下げされているのかどうなのか
_TAG("S.T.A.R.T") が含まれてると言うが、
一行 は _TAG("S.T.A.R.T") だけではないのか?
echo ' _TAG("S.T.A.R.T")' なんかも考慮する必要あるのか?

俺だったら一行まるまる、_TAG("S.T.A.R.T") だけにするがな
その方がパースしやすいので

227 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/13(月) 19:59:20 .net]
あと _TAG("S.T.A.R.T") は複数あるのか?という質問も追加
ネストされている場合は考慮するのか?とか



228 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/13(月) 20:01:47 .net]
まあいずれにしろテキストファイルは read で読み込めるんだから
こんな感じになるだろうが

while IFS= read -r line; do
 case $line in
  '_TAG("S.T.A.R.T")') なんとか ;;
  '_TAG("E.N.D")') かんとか ;;
 esac
 if 条件; then
  count=$((count + 1))
 fi
done < テキストファイル

229 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/13(月) 20:03:02 .net]
>>220みたいにそういう場合だったら Perl にとかいうやつがいるけど
シェルスクリプトで同等のコードを書いても大差ないんだけどなw

230 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/13(月) 21:07:49.84 .net]
sedやwc使うなとかいう制約も謎だわ
言語やツールが何であれ

231 名前:給ヌ裏で似たようなライブラリの関数呼び出すのに []
[ここ壊れてます]

232 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/13(月) 21:38:58 .net]
理由がわからないなら普通に聞けばいいだけなのに。
自分が知らないだけなのに、なんでそんなことありえない、
あってたまるかみたいな書き込みをするんだろうねw

233 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/13(月) 22:33:21.03 .net]
理由がわからないんじゃなくて、そんなことを言い出す人間が理解できないって話だよ
こだわりがあるならこんなところで人に聞くんじゃないよって話で

234 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/13(月) 22:41:09.86 .net]
自分とは違う方針の質問は受け付けない
そんなレスはこてんぱんにしてやる。ですか?

235 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/13(月) 23:40:18.71 .net]
自分の期待とは違う方針の回答は受け付けない
そんなスレはこてんぱんにしてやる。じゃないの?

236 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 04:36:43 .net]
>>229
スレの流れ見たけど受け付けられてるじゃん
宿題を済ませたいのか知らないが
人に聞くくらいなら針路変更したらどう?
知り合いにコンピューターの勉強してた人居るけど
大学で課題をすべて友人からパクってたそうだ
今その人バイトで食いつないでる
ITの仕事できたら低くても年収400万は行ったろうにね

237 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 07:50:06 .net]
>>231
知り合いの人は大学をやめて会社を起こして金持ちになったよ。
お前が何をいいたいのか知らんが



238 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 07:52:02 .net]
>>230
さんくすとお礼を言った上に、条件をつけ忘れてたから
補足しただけでしょ

たったそれだけで、はぁ?理解できない。謎だわ。なんでそんな事するの?バカなの?
みたいに言うのはなんで?

239 名前:名無しさん@お腹いっぱい。 [2020/04/14(火) 08:10:41 .net]
>>232
知り合いは宝くじ当たったよ

中卒、高卒、大卒の平均年収見てみ

240 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 08:12:21 .net]
問題を解決できないやつは
学歴がなんでも大成しないな

241 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 08:16:49 .net]
2chは口が悪いやつが多いけど
ここ見てると分かるように無償で相手してくれるやつがいるんだな
現実はどうだろう

そんなことないよ

社会に出れば分かるがフリーライダーは受け入れられない
街角でスケッチブックに助けてくださいって掲げるのか?
そんなの通報されて終わるよ
SNSなら答えてくれるって?
フォロワーも居ない人の相手なんて誰もしない
要するに2chしか質問する先がないんだ

242 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 08:18:35 .net]
>>233
何で逆切れするの?
仕事は自分でしましょう

243 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 08:24:13 .net]
>>233
>>229があなたの書き込みなら
あなたが煽っただけでしょう
そして>>229があなたではないなら
なぜそんな反応するのか分からない

244 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 08:26:10 .net]
課題か仕事か知らんが問題を片付けてくれたのになぜ素直になれないんだろうか
仕事だったら出来上がらないから検収されずに報酬もらえないぞ

245 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 08:29:48.56 .net]
JavaHouseってのがあって明らかに仕事に関係するであろう質問してた輩に
運営者の人がそれ幾らなのって聞いてたな
聞いた本人は無料ですってなんか意味の分からんこと言ってたが

246 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 08:31:37.22 .net]
>>234
宝くじワロタ

247 名前:名無しさん@お腹いっぱい。 [2020/04/14(火) 08:44:03.74 .net]
>>232
それは単にその人が優秀だっただけ



248 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 09:06:13 .net]
課題をこなせず大学をやめて成功したって丸投げ派遣会社でも設立したんか

249 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 10:27:17.89 .net]
>>242
人の話がシェルスクリプトと何の関係があるのという話だ
人の話をし始めたやつにいえな

250 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 11:48:50.47 .net]
宿題は自分でやりましょうってことだけじゃ

251 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 12:53:01 .net]
>>245
全ての質問に対してそういう回答をしてるなら何も言わんよ

252 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 16:26:20 .net]
>>232
まあ今どきの日本人はだいたいビル・ゲイツは知り合いだからなw

253 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 16:29:02 .net]
>>246
でたでたw
なぞの平等理論w
あいつだけずるいとかいう妬みで周りが見えなくなってるんだろうなあ

254 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 16:51:38 .net]
自分なら質問者が
「今こうやってるけどもっと効率のいい方法ない?」
とか聞いてきたら答えてあげたくなる

一度答えてそーじゃねーよとか言われたら・・・w

255 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 17:19:48.25 .net]
一度答えてそーじゃねーよと言われたら?
↓これみて「そーじゃねーよ」言われたと思っちゃったの?

215 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2020/04/11(土) 11:20:47.30
...... | sed -n '/_TAG("S.T.A.R.T")/,/_TAG("E.N.D")/p' | wc -l
こんな感じ

216 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2020/04/12(日) 07:36:15.54
さんくす
sedやwcなどの外部コマンド?を使わない方法はありますか?

256 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 17:20:54.13 .net]
沸点が低いんだろうなぁ。
少しでもなにか言われたら、親を侮辱されたかのように感じるんだろうな

257 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 17:27:27.07 .net]
なんとなく答える前に
sedやwcなどの外部コマンド?を使わない方法はありますか?
と書いても、同じようにキレていそうな気がするなw



258 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 17:38:50 .net]
3連投かよw
そんなに悔しかったのかよw

259 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 18:07:42.02 .net]
レスしただけでこの反応w 矛先をずらしているのもありがちだなぁw

260 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/14(火) 23:33:18.21 .net]
>>222-223
その _TAG("S.T.A.R.T") とかも字下げされてます
echo ' _TAG("S.T.A.R.T")' なんかも考慮する必要はありません
_TAG("S.T.A.R.T") は複数ありません
ネストもありません

>>224
可能ならman bashで出る内容だけで解決したいです。

_TAG("S.T.A.R.T")や_TAG("E.N.D")の前後にも行はあるので、わかりやすく
_TAG("S.T.A.R.T")なんとか
  count=$((count + 1))
_TAG("E.N.D")かんとか
ならベストなのですが。

261 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/15(水) 00:16:02.16 .net]
>>255
while文で1行ずつ読んでSTART見つけたところからカウントしていってENDが見つかったら終了すりゃいいだけじゃないの
自分でどこまで作ったの?

262 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/15(水) 00:37:48.24 .net]
>>256
もういいから早くスクリプト作れって言ってんだよ

263 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/15(水) 00:47:14.66 .net]
>>257
なら今からman bash読むわ
ちょっと量が多いから1週間待ってな
忘れるといかんからまたその頃に催促してくれ

264 名前:名無しさん@お腹いっぱい。 [2020/04/15(水) 08:44:47.78 .net]
>>257
おまえ志賀だろ
あわしろさんに謝れ

265 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/16(木) 00:36:27 .net]
>>255の後半からはawkのセンスありと見た

266 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/16(木) 07:29:49 .net]
自分で man 読んで自分で出来るようになる方が自分にとって有益だと思うんだが…

267 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/16(木) 12:09:07 .net]
awkでやればできるよ!・・・全部BEGIN
これ萎えるw



268 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/17(金) 09:28:05 .net]
フレッシュなニンニクジュースを飲めばコロナの菌が死滅する

269 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/19(日) 04:34:10.20 .net]
この板の住民なら生ニンニクで腸内細菌死滅して病院送りになるのは知ってそう

270 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/19(日) 04:48:20.74 .net]
言うほどUNIXやシェルスクリプトってコロナ菌に関係あるか?

271 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/19(日) 13:15:29 .net]
[ と [[ の違いなんかも理解できてないままflgやcontinueを使って書いてみました。
_TAG("S.T.A.R.T")の後でもループの度にflgをチェックするのが無駄なので
_TAG("S.T.A.R.T")を探すループと_TAG("E.N.D")まで行数を数えるループを完全に分けてflgを無くしスッキリ出来たらいいのですが。
declare -i i=0
declare -i flg=0
for f in `cat $INPUT_FILE`
do
if [ $flg == 0 ]; then
if [[ "$f" =~ \t*'_TAG("S.T.A.R.T")' ]]; then
flg=1
else
continue
fi
else
if [[ "$f" =~ \t*'_TAG("E.N.D")' ]]; then
echo 行数は $i
exit 0
else
i=$i+1
fi
fi
done

272 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/19(日) 22:46:59.99 .net]
>>266
> ループを完全に分けてflgを無くしスッキリ出来たらいいのですが。

まず for f in `cat $INPUT_FILE`を使うのはやめよう
シェルスクリプトでテキストファイルを読むならwhile + read を使う
そしてread は read してから read すると次の行を read する(当たり前だw)

273 名前:名無しさん@お腹いっぱい。 [2020/04/26(日) 02:43:28.05 .net]
一応それらしいのを書いてみました。
exitがあるのと、whileループの前と中にreadがあるのがちょっと不満です。
後チェックができるように do; read; while という使い方ができればいいのですが。

declare -i i=0
while : ; do
read f <- 不要かも

while [[ !("$f" =~ \t*'_TAG("S.T.A.R.T")') ]]; do
read f
done

read f
while [[ !("$f" =~ \t*'_TAG("E.N.D")') ]]; do
i=$i+1
read f
done
echo 行数は $i
exit
done < $INPUT_FILE

274 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/26(日) 07:48:46 .net]
そもそも done < $INPUT_FILE とか書く必要ない

script.sh < $INPUT_FILE とやればいいんだよ
その方が柔軟性が高くなる

そうすりゃスクリプトは中身だけで良くなる。endはいらない。
そして while read do にも置き換えられるやろ?

read f <- 不要かも

while [[ !("$f" =~ \t*'_TAG("S.T.A.R.T")') ]]; do
 read f
done

read f
while [[ !("$f" =~ \t*'_TAG("E.N.D")') ]]; do
i=$i+1
read f
done
echo 行数は $i

275 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/26(日) 07:49:15 .net]
× endはいらない。
○ exitはいらない。

276 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/26(日) 13:23:56.84 .net]
後出しっぽくてすみません。
$INPUT_FILE は_TAG("S.T.A.R.T")や_TAG("E.N.D")と同じく固定名なので汎用性は不要なんです。
それにこの部分はscriptの一部で本体には引数があるため毎回script.sh 引数 < $INPUT_FILE とやるのはちょっと...
といって、このためだけに分割するのも...

277 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/04/26(日) 16:11:10.53 .net]
じゃあ
{
なかみ
} < "$INPUT_FILE"
とかすればいい



278 名前:名無しさん@お腹いっぱい。 [2020/10/27(火) 23:15:06.07 ID:oDaI72SOc]
サイボウズ式:会社員でもフリーでもない、その中間ぐらいの生き方を模索しているところです
https://www.huffingtonpost.jp/cybozu/careerpass_b_17142954.html?utm_hp_ref=jp-furiransu
「社員全員が副業」を体現し普及するスタートアップ、売上前年比4倍が物語る今後
https://newswitch.jp/p/23029
サイボウズの「副業したい人、採用します」戦略。正社員募集では見つからない“異能”の採り方
https://logmi.jp/business/articles/320834
10月より週休4日制度に移行します。
https://note.mu/soutaros/n/na788df21965b
「週休4日」や「1日5時間勤務」も可能に。アクセンチュアが、新たな勤務制度を取り入れた理由
https://www.huffingtonpost.jp/enhyouban/accenture_b_12796206.html
フリーランスは増加した。でも「奴隷的」会社員の延長では社会は不自由なままだ。
https://www.huffingtonpost.jp/entry/freelance-basics_jp_5c988943e4b057f7330cb53a?utm_hp_ref=jp-hatarakikata
秩父・横瀬町にWeb業界のクリエイターが集結! 地域がひとつになったクリエイティブソン
https://careerhack.en-japan.com/report/detail/813
自称「日本一の駅の待合所」はいったいドコがスゴいのか
https://headlines.yahoo.co.jp/hl?a=20190425-00010004-moneyplus-bus_all
書店内の本が読み放題!新しいオフィス形態「BOOK&OFFICE 文悠」
https://headlines.yahoo.co.jp/article?a=20190424-00001676-shogyokai-bus_all
会社を辞めてフリーランスで働きたいあなたが知っておくべき10のこと
https://www.businessinsider.jp/post-165731
フリーランスと会社員、働き方の根本的な差 広がる「雇用されない働き方」の課題とは何か
https://toyokeizai.net/articles/-/263055

279 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/12/09(水) 09:14:48.51 .net]
https://i.imgur.com/7y5aA6m.jpg

280 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/03/01(月) 22:58:36.48 .net]
$ eval "<"
bash: 予期しないトークン `newline' 周辺に構文エラーがあります

これってどういうこと?

281 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/03/02(火) 03:17:30.34 .net]
予期しないトークン が出てきたんだろ

282 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/03/02(火) 09:29:15.67 .net]
そりゃ < をbashに渡すから
$ <
と同じ結果になる訳で

283 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/03/02(火) 11:20:08.32 .net]
おふたりありがとう
たしかに
$ <
と同じ結果になった
でもnewlineというのはどこにも記述してないのにどうして `newline' なんだろう?と

284 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/03/02(火) 11:55:19.88 .net]
英語の勉強をしましょう

285 名前:名無しさん@お腹いっぱい。 [2021/03/02(火) 12:14:10.37 .net]
>>278
パーサーが入力の「末尾」も改行文字と同じに扱っている
または入力末尾に改行文字を追加してからパースしている
といったところじゃないかな

286 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/03/02(火) 12:48:18.17 .net]
あー、そういうことか、なるほどわかりました
日本語の中に突然newlineが出てきて、しかもわざわざクォートされてるからてっきり予約語かと思い込んでいた
というか目に見えない予約語なんだろうけど
ありがとうございます

287 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/03/02(火) 16:21:26.89 .net]
わかっとらんやんけ!



288 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/03/14(日) 10:53:57.86 .net]
>>165
win鯖管か個人用途のみで使うなら7系はいいものだと思うけど、数百MB食うpwshがunix界隈で受け入れられるとはとても思えない
まあ新興非b系シェルは駆逐されるかもしれんが
そもそもまだMacとlinux主要ディストロにしか公式対応してないので

IT職でなく、単にツールキットを享受できればいい人ならpwshでいいと思うよ
たとえ趣味や仕事でも(だけど時代遅れな)b系シェルの技能は汎用性あるから、あえて普段から使うのも勉強になるよ

289 名前:名無しさん@お腹いっぱい。 mailto:sage [2021/03/14(日) 10:59:38.87 .net]
あと怒涛の互換性ブチ壊しバージョンアップ中だから、せっかく書いても一年で動かなくなる
まだソフトウェア開発には使えないのが現状






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<192KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef