[表示 : 全て 最新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の方が適した

132 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/01(木) 23:04:57.30 .net]
真面目君か

133 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 09:18:07.69 .net]
ほにゃらら
ほんじゃらら
かきく
0 あいう
かきく
1 あいう
かきく
2 あいう
かきく
3 あいう
かきく
4 あいう
かきく
5 あいう
さしすせそ

と書かれたテキストファイルを作りたいです

echo -e ほにゃらら"\n"ほんじゃらら > index.txt
seq -f "%g あいう" 0 5 > index.txt

ここまではわかったんですが、seqで連番を書き出す時に番号と番号の間の行に「かきく」を入れて最後の行に「さしすせそ」を加えるやり方教えてほしいです

134 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 10:32:33.45 .net]
awkとかじゃいかんの

135 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 11:55:34.38 .net]
>>130
ありがとうございます
調べてみました

cat > index.txt << "EOF"
ほにゃらら
ほんじゃらら
あいう
EOF

seq 0 5 | awk -v 'ORS= あいう\nかきく\n' '{print $1}' >> index.txt

echo さしす >> index.txt

136 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 11:55:45.48 .net]
こうやると

ほにゃらら
ほんじゃらら
あいう
0 あいう
かきく
1 あいう
かきく
2 あいう
かきく
3 あいう
かきく
4 あいう
かきく
5 あいう
かきく
さしす

と出力されました
最後から2行目の「かきく」を出さないやり方が分からないです

137 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 12:05:17.31 .net]
ブレース展開

138 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 12:11:44.60 .net]
一応これでうまくいきました

cat > index.txt << "EOF"
ほにゃらら
ほんじゃらら
かきく
EOF

seq 0 5 | awk -v 'ORS= あいう\nかきく\n' '{print $1}' >> index.txt
sed -i -e '$d' index.txt
echo さしす >> index.txt

139 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 12:13:50.09 .net]
>>133
自分のやり方はなだったらしそうなのでそのキーワード調べてみます

140 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 12:28:22.64 .net]
えー、難しい...
>>130はこんなもんしか考えてなかったけど

awk 'BEGIN{print"ほにゃらら\nほんじゃらら";for(i=0;i<6;i++){printf"かきく\n%d あいう\n",i};print"さしすせそ"}'



141 名前:名無しさん@お腹いっぱい。 [2019/08/05(月) 12:28:39.74 .net]
>>129
cat <<END >index.txt
ほにゃらら
ほんじゃらら
$(printf 'かきく\n%s あいう\n' $(seq 0 5))
さしすせそ
END

142 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 12:29:43.26 .net]
あ、バックスラッシュが円記号になってしまった...

143 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 12:30:25.69 .net]
cat > index.txt << "EOF"
ほにゃらら
ほんじゃらら
EOF

printf "かきく\n%s\n" {0..5}あいう >> index.txt

これだと大分短くて出来たけど、数字と「あいう」の間にスペースが入れられない

144 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 12:32:03.53 .net]
被ってしまった
みなさんありがとうございます
質問ぬしの自分は>>139です
135と136のやり方調べてみます

145 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 12:43:19.31 .net]
>>137
catで書き出すファイルの中でprintfをやって、そのrintfの中でseqで連番作るんでね
これだとファイルへの書き込みは1回ですみますね

>>136
これも> index.txtで終えれば1回ですみますね
だけどawk難しいです
がんばって135のやり方理解できるようにします

146 名前:名無しさん@お腹いっぱい。 [2019/08/05(月) 13:06:08.43 .net]
>>141
> これだとファイルへの書き込みは1回ですみますね

どんな方法で作るにせよ { } で括れば一回にまとめられるよ

{
printf '%s\n' 'ほにゃらら'
printf '%s\n' 'ほんじゃらら'
printf 'かきく\n%s あいう\n' $(seq 0 5)
printf '%s\n' 'さしすせそ'
} >index.txt

147 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 15:17:00.15 .net]
>>142
こんな方法もあるんですね
ありがとうございます

curlの標準出力の6行目を変数に入れて他の文字列と組み合わせて標準出力に出力したいです。
URL="hoge"
ROKU="curl -sS $URL | sed -n '6p'"
echo "あいうえお"$ROKU"さしすせそ"

しかし結果はこうなりました
あいうえおcurl -sS hoge | sed -n '6p'さしすせそ

148 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 15:18:57.84 .net]
>>143
続き
>>142
さんで教わった{}を使えばよさそうな気がするですがエラーになりました

149 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 16:33:57.17 .net]
printf "あいうえお"
$ROKU #chomp のように\nを消すパイプ必要だと思う
printf "さしすせそ"

150 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 17:18:21.98 .net]
>>145
echoじゃなくてprintfなら改行されないからあいうえおに続けて書けますね
だけど、このままだとROKUのところで改行されてしまうからさしすせそは2行目に来ちゃいますね



151 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/05(月) 18:01:04.99 .net]
>>129
> と書かれたテキストファイルを作りたいです

こうすれば良いのでは?

cat<<HERE > index.txt
ほにゃらら
ほんじゃらら
かきく
0 あいう
かきく
1 あいう
かきく
2 あいう
かきく
3 あいう
かきく
4 あいう
かきく
5 あいう
さしすせそ
HERE

152 名前:名無しさん@お腹いっぱい。 [2019/08/05(月) 19:41:32.36 .net]
>>143
コマンドの標準出力を変数に設定したりコマンドの引数にしたりするには
「コマンド置換」 $(…) を使います

あと、「6行目」以外の部分も取り出したくなったときに curl を何度も実行したくはないので
curl と sed は分けておきたいところ

するとこんな感じ

PAGE=$(curl -sS "$URL")
ROKU=$(printf '%s\n' "$PAGE" | sed -n '6p')
NANA=$(printf '%s\n' "$PAGE" | sed -n '7p')
printf 'あいうえお%sさしすせそ\n' "$ROKU"
printf 'かきくけこ%sたちつてと\n' "$NANA"

153 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/06(火) 10:37:34.03 .net]
>>147
複数行書く方法ありがとうございます

>>148
うまくいきました
ありがとうございます

154 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/29(木) 02:47:55.71 .net]
$ bash -c 'unset a b;echo 10|read a;let b=a+10;echo $b'
10

この動作ってPOSIX的にはどうなの?

155 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/29(木) 05:08:51.78 .net]
読みづれーなw

bash -c '
unset a b
echo 10 | read a
# echo $a = 空
let b=a+10
echo $b
'

letはPOSIXにない
readはサブシェルなんだからaは空に決まってる
ごく普通の正しい動作

156 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/29(木) 05:09:53.11 .net]
正しいコード

bash -c '
unset a b
echo 10 | {
read a
let b=a+10
echo $b
}
'

157 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/29(木) 23:22:24.50 .net]
letまで考えて無かったすまん
まあ説明の為なのでそこは目をつぶってくれたまい

opensuzeなんだけども

$ ksh -c 'unset a b;echo 10|read a;let b=a+10;echo $b'
20
$

この動作ってPOSIX的にはどうなの?

158 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/08/30(金) 06:34:55.40 .net]
バグ

159 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/10(火) 19:48:12.68 .net]
curlのやり方教えてください
ブラウザのフォームにjsonを書いてポストボタンを押すとokが出るけどターミナルからcurlでやろうとすると、ボディが空だとなり送信出来ません
書き方間違えていますか?

https://i.imgur.com/Nvm7CMj.jpg

160 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/11(水) 14:49:50.58 .net]
ブラウザの開発ツールからcURLでコピーした方が早そうだぞ



161 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/11(水) 15:08:13.17 .net]
>>156
どうもありがとうございます
-H 'Content-Type: application/json'
を付けたら動きました

162 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 17:05:57.53 .net]
アプリの起動判定をしたいんですが
ps -alxw | grep アプリ名
2行より多ければアプリが起動してるんだと思いますけど確実な方法ありますか?

163 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 17:48:19.11 .net]
killall -0 アプリ名
とか?

164 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 19:39:47.90 .net]
>>159
どうもありがとうございます
そのコマンドで何も変えらなかったら起動中という事であってますか?

165 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 07:33:53.20 .net]
起動してないとわかっても、その直後に起動することも有るから
ロックを掛けないと確実にはならないけどな

166 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 01:15:30.85 .net]
pgrepでええやん、と思ったけど環境依存か

167 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 02:03:14.71 .net]
>>161
どの環境でも使えるロックの機構ってなにかある?

168 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 03:45:32.29 .net]
>>163
set -C もしくは mkdir

169 名前:名無しさん@お腹いっぱい。 [2020/01/20(月) 04:38:26 .net]
怒らないで教えて欲しいんだけど何でお前らPowerShell使わないの?
今やPowerShellの方が勉強会でドヤれるしちょまどなんかもPowerShellだってよ

170 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/01/20(月) 07:42:20 .net]
>>165
なんでそんなに無意味な宣伝するの?



171 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/01/20(月) 13:22:02 .net]
>>165
Dockerのalpine、debianなど、ほぼすべてのイメージでことごとく動かないから。
shで十分なのに、PowerShellなんて使いませんよw

172 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/01/20(月) 15:09:31.95 .net]
>>165
linux のコマンド群が使えないから

173 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/01/21(火) 10:19:02 .net]
ソースコードをダウンロードしてビルドしようとしたら…

ERROR: You must either be root or be able to use sudo

ビルドするのに root になれって? この時点で話にならないよ。

174 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/01/21(火) 11:46:33.77 .net]
>>169
それってパワーシェルの話?

175 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/01/21(火) 21:58:33.32 .net]
そのメッセージでググっても、インストール時のメッセージしか見つからないね
https://www.google.com/search?q=%22ERROR%3A+You+must+either+be+root+or+be+able+to+use+sudo%22

ビルドしようとしたら出たって言うから、
別の話か、嘘つきでは?w

176 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/01/21(火) 22:20:06.48 .net]
>>169
エラーメッセージには「sudo を使え」と書いてあるが

177 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/01/22(水) 02:27:49 .net]
とりあえず適当なことを言ってPowerShellを
貶めたかったんだろ?バレて逆効果になってるがw

178 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/02/17(月) 09:08:53.72 .net]
grep 等の外部コマンド?を使わずに任意の文字列の最初に見つかる3桁の数字を得る方法があれば教えて下さい
(例えば、abc_4_de_99_fgh_ijklm_no_567_2_123_pqrst_uvwx_yz だと567)

179 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/02/17(月) 12:51:47 .net]
bashなら=~と、$BASH_REMATCH使えばできるんじゃね

180 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/02/17(月) 12:52:43 .net]
>>174
おまえは俺かw

似たようなことをやったよ。grepで(笑)

外部コマンドを使わないなら、こうなるから面倒くさいんだよな。
できるけど面倒くさい。だから遅いけどgrepにした。

v=abc_4_de_99_fgh_ijklm_no_567_2_123_pqrst_uvwx_yz
v=${v#"${v%%[0-9][0-9][0-9]*}"}
v=${v%"${v#[0-9][0-9][0-9]}"}



181 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/02/17(月) 13:01:06 .net]
シェルスクリプトだと(bash依存は知らん)
マッチした部分を含めて削除はできるけど
マッチした部分を残したその他を削除が簡単にできないんだよね。

だから「マッチした部分を含めて削除」したら残りが
「マッチしなかった部分」になるのを利用して、
改めて全体から「マッチしなかった部分」を取り除くというのを前後でやればできる。

182 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/02/19(水) 01:25:53 .net]
ありがとうございます
面倒でも前後から不要部分を取り除くしかないのですね

183 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/02/19(水) 03:44:34.80 .net]
「マッチした部分を含めて削除」ってどうやるの?

184 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/02/19(水) 07:39:09.82 .net]
>>179
${v%%[0-9][0-9][0-9]*} ってかいてあるやん

abc_4_de_99_fgh_ijklm_no_567_2_123_pqrst_uvwx_yz ・・・(1)

↓ ${v%%[0-9][0-9][0-9]*}

abc_4_de_99_fgh_ijklm_no_ ・・・(2)

↓ (1)ー(2)

567_2_123_pqrst_uvwx_yz ・・・(A)

↓ ${v%"${v#[0-9][0-9][0-9]}"}

_2_123_pqrst_uvwx_yz ・・・(B)

↓ (A)ー(B)

567

185 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/02/19(水) 12:18:21 .net]
>>180
丁寧にありがとう!

186 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/02/21(金) 17:55:59.15 .net]
今更だが>>180

× ${v%"${v#[0-9][0-9][0-9]}"}
○ ${v#[0-9][0-9][0-9]}"

だな

187 名前:名無しさん@お腹いっぱい。 [2020/02/22(土) 16:29:53 .net]
それらをPowerShellで書くとどうなるか?
一度でも考えてみたことはありますか?

188 名前:名無しさん@お腹いっぱい。 mailto:sage [2020/02/22(土) 16:45:28.02 .net]
PowerShellで書くとLinuxで動かすのが大変になります。

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






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

前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