シェルスクリプト総合 その37

■ このスレッドは過去ログ倉庫に格納されています
2021/10/05(火) 22:49:30.91ID:KsbWuyFp
シェルスクリプトに関する総合スレッドです。

全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
・「POSIX原理主義」「ユニケージ」「USP研究所」はPOSIXとUnixを曲解し
間違ったシェルスクリプトを広めている宗教です。洗脳されないようにしてください。

前スレ: シェルスクリプト総合 その36
https://mevius.5ch.net/test/read.cgi/tech/1614212414/

関連スレ
・【Bash】Windows Subsystem for Linux【WSL】11
https://mao.5ch.net/test/read.cgi/linux/1627507889/
・Bashでプログラミング [転載禁止](c)2ch.net
https://mao.5ch.net/test/read.cgi/linux/1443885102/
・シェルスクリプト総合 その28
https://mevius.5ch.net/test/read.cgi/unix/1533154936/
・zsh その7
https://mevius.5ch.net/test/read.cgi/unix/1337844883/
・過去UNIXで使われていた ksh というシェルについて
https://mevius.5ch.net/test/read.cgi/unix/1582358403/
・【POSIX】UNIXプログラミング【BSD】 [転載禁止](c)2ch.net
https://mevius.5ch.net/test/read.cgi/unix/1443103705/
・おまえら! shell は何を使っているんですか?
https://mevius.5ch.net/test/read.cgi/unix/1012330865/
2021/12/09(木) 11:59:18.64ID:4q0mFQ+L
>>271
プロセスの標準出力・エラーを、tee とかでファイルへリダイレクトして、
そのファイルを、tail とかで読み込めば?

単純に、パイプでつないでも出来るかな?
分からないけど
2021/12/09(木) 12:30:42.74
>>275
おおそんな便利なコマンドがあったんですね
$bash sample1.sh | tee result.txt & sleep 5 && bash sample2.sh
でsample2内で取得できましたありがとうございます

ゴテゴテですが一応やりたかったことはできました
https://colab.research.google.com/drive/1nHbgd_KRiSF3uoaRKsM8shhMqFrI6PB0
2021/12/09(木) 21:58:36.81ID:Mbxb9x/j
for ((i=0; i < 10; i++)) {
...
}

i=-1; while : $((i+=1)); [ $i -lt 10 ]; do
...
done
2021/12/09(木) 22:10:34.91ID:ghcaSzTo
>>271 mkfifoで名前付きパイプを使ってもいいと思った
取りこぼしが無いよう、先にパイプを作る必要はあるが
mkfifo pipe
sample2.sh < pipe &
sample.sh > pipe &
fg %-
みたいな
279デフォルトの名無しさん
垢版 |
2021/12/09(木) 22:21:13.87ID:2QHtVdpK
sample2の引数にsample1を取って中で実行させるんじゃ駄目なの?
2021/12/10(金) 00:49:10.12ID:0uGej2hE
>>279
終わった話に、あやしいやりかたの提案。w
281デフォルトの名無しさん
垢版 |
2021/12/10(金) 01:52:13.39ID:Uh57IFJZ
>>274
無駄な書き方だからでは?
警告通りに if mycmd ... の形式を使うわけには行かないのか?
2021/12/10(金) 01:56:31.72ID:Uh57IFJZ
>>271
expect コマンドを使うと複雑な事も出来ると思う。
2021/12/11(土) 14:27:15.50ID:uPYAT6Ja
>>274
普通はファイルが存在するならコマンドを実行する、と書くし、非存在時のechoコマンドの
出力先が標準出力な点も気になる(標準エラー出力であるべき)。また、catコマンド実行時に
ファイルが見つからなければ、"そのようなファイルやディレクトリはありません"とコマンド
自体が(標準エラー出力に)メッセージを出すので、重複した記述でもある。
284デフォルトの名無しさん
垢版 |
2021/12/11(土) 18:07:38.11ID:vrksYrpn
> 普通はファイルが存在するならコマンドを実行する、と書くし、

書かねーよ。
ファイルが存在すると判断した後の消されたどうすんだ
シェルスクリプト業界って素人が多いのか?
285デフォルトの名無しさん
垢版 |
2021/12/11(土) 18:07:53.48ID:vrksYrpn
ファイルが存在すると判断した後に消されたどうすんだ
2021/12/11(土) 18:10:19.61ID:0kWUcctt
業界人さんちーすっww
シェルスクリプト業界w
287デフォルトの名無しさん
垢版 |
2021/12/11(土) 18:15:19.56ID:vrksYrpn
シェルスクリプト業界だろ?w
シェルスクリプトばーっかりやってる
シェルスクリプト最強って言ってるアホ会社ども
2021/12/11(土) 19:15:43.81ID:jwVRIORX
>>284
どうせエラーになるから、問題ないやろ。
まあ、「業界」wではありがち。
2021/12/11(土) 19:21:54.38ID:Vruq/eED
どうせエラー出て失敗するんだからやり直せばいいだけのことなのに
あらゆる可能性を想定して滅多に使われない機能まで組み込んで肥大化する方があるある
290デフォルトの名無しさん
垢版 |
2021/12/11(土) 19:36:54.86ID:EpvuxOsQ
問題点に対するソリューションのご提案。
・ファイルロックを取得してから操作します。
・ファイルロックを取得できなかった場合、
 1.他のプロセスが既に取得している。
 2.ファイルが存在しない。
・以上を確認します。
291デフォルトの名無しさん
垢版 |
2021/12/11(土) 20:08:06.21ID:vrksYrpn
>>288

> 普通はファイルが存在するならコマンドを実行する、と書くし、

これがだめなやり方だって話をシてるんだが理解してる?
2021/12/11(土) 21:05:42.03ID:LF8J+dNV
2021/12/11(土) 22:38:36.00ID:qYkp+8zL
テキストの入力、加工、出力以外の処理を無理に書くべきじゃない
それ以上のことがやりたくなったら別の言語使った方が楽
2021/12/11(土) 22:39:56.90ID:vrksYrpn
シェルスクリプトでcpやrmを実行するなとか言ってんの?
アホじゃね?
お前シェルスクリプトの使い方を間違ってるよ
むしろテキストの加工ならなんの言語でやってもいい
2021/12/11(土) 23:30:45.47ID:dNHI9UuU
どこの会社でもやたら批判的な発言をするものの具体的な答えは何も示さず
相手が何を言い返しても分かった風の立場で「それは違う」と上から目線で言い続けるだけのマシーンっているよね
一言目から答え出しておけば無駄な会話もなくなるのに
2021/12/11(土) 23:47:58.53ID:6uvwt7oX
変な会社に勤めてるんだな
自分の特殊な環境なのに全体にするとか
ネットによく居るタイプだな
2021/12/12(日) 00:23:59.48ID:Cge0T7le
cpもmvも処理の途中でやるもんじゃないよ。出力とみなして最後にやりなよ
2021/12/12(日) 01:33:58.51ID:oJaPYVJw
全体にする??
2021/12/12(日) 10:52:42.84ID:y4gnCele
>>295
それが今の話となんの関係があんの?
2021/12/12(日) 12:20:58.07ID:JyN9iiR1
ファイルをロックしてまで、やっているスクリプトは珍しい

普通は、ファイルが存在しなければ、そこでエラーになるだけ
2021/12/12(日) 12:27:49.49ID:y4gnCele
シェルスクリプトには真のファイルロックなんてない
ロックファイルを作ってごまかしてるだけ
だからその状態で電源OFFとかエラーで強制終了すると
中途半端にファイルが残ってトラブルになる
2021/12/12(日) 12:28:31.23ID:y4gnCele
そもそもファイルをロックするなんて出た時点で
シェルスクリプトを使うのは間違ってる
データベースを使えばいい
2021/12/12(日) 14:20:54.91ID:WF4PQxLz
揶揄だろうにマジレスw
2021/12/13(月) 19:52:30.36ID:LfK/mY33
flock というコマンドが・・・
2021/12/13(月) 21:42:22.10ID:6NEloxYy
>>304
しょせんアドバイザリやろ?
たいして役にたたん。
2021/12/14(火) 01:59:34.43ID:rn98eftb
アドバイザリで何か不都合あるの
2021/12/14(火) 02:24:03.30ID:qTP7/6ko
>>306
オタク同士のなれ合いみたいなモノで、
DQNですらない陽キャ相手に崩壊するレベルだよ?
2021/12/14(火) 03:14:46.69ID:rn98eftb
面白いと思って書いたの?
309デフォルトの名無しさん
垢版 |
2021/12/14(火) 09:18:10.80ID:/wewuKga
name=value
: $(($name = 123))
echo $value

これってPOSIX準拠?
2021/12/14(火) 15:12:29.97ID:sz49PmUD
うん
311デフォルトの名無しさん
垢版 |
2021/12/14(火) 15:31:16.80ID:VTHB4KBI
bc使わないで小数の比較演算ってできますか?
RHEL8.0環境で何もインストールしてはいけません縛りの環境を渡されてbc入ってなくて詰んでます。
2021/12/14(火) 15:53:00.42ID:0juEz1uN
PerlかPythonははいってんじゃないの?
dnf(yum)用とかで。
2021/12/14(火) 15:56:51.63ID:/wewuKga
>>310
根拠はありますか?
314デフォルトの名無しさん
垢版 |
2021/12/14(火) 15:56:55.09ID:VTHB4KBI
確かに
pythonで計算することにします
ありがとうございました
315デフォルトの名無しさん
垢版 |
2021/12/14(火) 15:59:09.28ID:/wewuKga
>>311
何もインストールできないせいで、生産性が下がっていますって
言わないとあとで苦労する
生産性が下がっている原因を、くだらない決まりを作ったやつに押し付けろ
2021/12/14(火) 16:40:48.55ID:sz49PmUD
>>313
何そのレス
>>2にあるURLのこ見やがれ
2021/12/14(火) 17:05:42.29ID:0juEz1uN
>>315
bcでそんなことを言えんの?w
2021/12/14(火) 17:15:47.75ID:vLIDlmgW
プログラミング言語を使わずに計算することを考える時点で、既におかしい
2021/12/14(火) 17:33:58.21ID:/wewuKga
>>316
>>2のURLのどこにも書いてないから言ってるんだよ

>>317
言えるやろw
2021/12/14(火) 17:44:30.18ID:sz49PmUD
>>319
書いてる
2021/12/14(火) 17:54:50.69ID:sz49PmUD
まさか「書いてる」という言質が欲しかったわけじゃないよな
言葉使いからは「いつもの」っぽいけど
書いてると言われても見つけられなさそうだな、パターン的には
2021/12/14(火) 17:57:32.23ID:0juEz1uN
>>318
「比較」やそうやから、「計算」やないんでセーフ。
値とかバージョンとかの比較は、シェルスクリプトでもしたいことはあるやろ。

と書いて、ひとつ思い出した。

>>311
sort --sort numericでいいんでは。
2021/12/14(火) 18:03:51.08ID:0juEz1uN
いや、そう使うように書くのはなかなか面倒か。
できなくはないやろけど。w
2021/12/14(火) 18:04:26.19ID:sz49PmUD
Linuxは一貫としてbcはデフォでは入ってないんだな。なんでだろ
LinuxというかGNUがだろけど
2021/12/14(火) 18:15:04.93ID:sz49PmUD
POSIXとの互換性、仮にGNU bcでPOSIXのがそのまま動くとしても互換動作モードやドキュメントを書くのが面倒 とかかなと思ったら、
-w, --warn
POSIX bc に対する拡張機能が入力された場合は警告を出します。
-s, --standard
POSIX bc の言語仕様に厳密に従って処理します。
きっちりあるやん。なんでだろ。ナゾい
2021/12/14(火) 19:12:11.27ID:/wewuKga
>>328
書いてませんでした
2021/12/14(火) 19:13:20.14ID:/wewuKga
>>320
書いてませんでした。

なんですぐバレる嘘をつくんだろうかね
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_04
2021/12/14(火) 19:15:41.20ID:sz49PmUD
書いてるだろwww
すげえなあ
2021/12/14(火) 19:18:10.50ID:sz49PmUD
なんか、予告的なアンカーだなw
書いてませんでした と言えるのがイミフ。凄すぎてわからん
2021/12/14(火) 19:18:12.33ID:/wewuKga
なるほど、本当にここに書いてあるという主張してるのか

2.6.4 Arithmetic Expansion
Arithmetic expansion provides a mechanism for evaluating an arithmetic expression and substituting its value. The format for arithmetic expansion shall be as follows:

$((expression))

The expression shall be treated as if it were in double-quotes, except that a double-quote inside the expression is not treated specially. The shell shall expand all tokens in the expression for parameter expansion, command substitution, and quote removal.

Next, the shell shall treat this as an arithmetic expression and substitute the value of the expression. The arithmetic expression shall be processed according to the rules given in Arithmetic Precision and Operations, with the following exceptions:

Only signed long integer arithmetic is required.

Only the decimal-constant, octal-constant, and hexadecimal-constant constants specified in the ISO C standard, Section 6.4.4.1 are required to be recognized as constants.

The sizeof() operator and the prefix and postfix "++" and "--" operators are not required.

Selection, iteration, and jump statements are not supported.
2021/12/14(火) 19:18:27.78ID:/wewuKga
All changes to variables in an arithmetic expression shall be in effect after the arithmetic expansion, as in the parameter expansion "${x=value}".

If the shell variable x contains a value that forms a valid integer constant, optionally including a leading <plus-sign> or <hyphen-minus>, then the arithmetic expansions "$((x))" and "$(($x))" shall return the same value.

As an extension, the shell may recognize arithmetic expressions beyond those listed. The shell may use a signed integer type with a rank larger than the rank of signed long. The shell may use a real-floating type instead of signed long as long as it does not affect the results in cases where there is no overflow. If the expression is invalid, or the contents of a shell variable used in the expression are not recognized by the shell, the expansion fails and the shell shall write a diagnostic message to standard error indicating the failure.

どこにあるのか、言ってみ
2021/12/14(火) 19:19:31.70ID:0juEz1uN
>>327
そうやって、わざわざ相手にしてちゃんと調べてやる人がおるからやろ。w
2021/12/14(火) 19:20:48.60ID:0juEz1uN
あ、違うんか。
またいちびっとるとは思わんかった。
2021/12/14(火) 19:21:00.40ID:/wewuKga
英語めないんでしょ?

2.6.4 算術式の展開
算術展開は、算術式を評価してその値を代入するためのメカニズムである。算術展開のフォーマットは以下のとおりです。


$((式))

式は二重引用符で囲まれているかのように扱われますが、式の中の二重引用符は特別に扱われません。シェルは、パラメータの展開、コマンドの置換、
引用符の除去のために、式のすべてのトークンを展開する。

次に、シェルはこれを算術式として扱い、式の値を代入する。算術式は、以下の例外を除き、
「算術の精度と演算」で示された規則に従って処理されなければならない。

符号付き長整数の算術演算のみが必要である。

ISO C規格の6.4.4.1項で規定されている
10進数定数、8進数定数、16進数定数のみを定数として認識する必要があります。

sizeof()演算子、前置および後置の "++"および"--"演算子は必須ではありません。
選択、反復、およびジャンプ文はサポートされていません。

算術式の中の変数に対するすべての変更は、"${x=value}"というパラメータ展開のように、
算術式の展開の後に効力を持つものとします。

シェルの変数xが、有効な整数定数を構成する値を含み、オプションとして先頭に<プラス記号>または
<ハイフン-マイナス>を含む場合、算術展開の"$((x)) "と"$(($x)) "は同じ値を返すものとします。

拡張機能として、シェルはここに挙げた以外の算術式を
認識することができます。シェルは、signed long のランクよりも大きいランクの符号付き整数型を使用することができます。
シェルは、オーバーフローが発生しない場合の結果に影響しない限り、signed long の代わりに real-floating 型を使用してもよい。式が無効な場合、または
式で使用されているシェル変数の内容がシェルによって認識されない場合、展開は失敗し、シェルは失敗を示す診断メッセージを標準エラーに書き込まなければならない。
2021/12/14(火) 19:21:38.22ID:/wewuKga
いちいち嘘を付く理由がわからんね
2021/12/14(火) 19:22:29.34ID:sz49PmUD
>>330,331
よく読めよw ちゃんとよく読めよ

>>332
ん?
2021/12/14(火) 19:23:44.74ID:/wewuKga
書いてないものをよく読めっていってごまかしてるのは
自分の間違いを認められないからなのかな?
2021/12/14(火) 19:24:02.73ID:sz49PmUD
>>334
英語読めない...w
よく言うよ。その日本語でもいいけど、英語の方がわかりやすいと思うぞ
しかも、テキストでなくハイパーテキストの方が
2021/12/14(火) 19:25:13.06ID:/wewuKga
だからどこにも書いてないと言ってる
なんで反論してるの?
2021/12/14(火) 19:26:13.37ID:/wewuKga
> シェルの変数xが、有効な整数定数を構成する値を含み、オプションとして先頭に<プラス記号>または
> <ハイフン-マイナス>を含む場合、算術展開の"$((x)) "と"$(($x)) "は同じ値を返すものとします。

ここよく読めばわかるが、書いてないと言ってる。

他に言い返す言葉はある?
2021/12/14(火) 19:27:50.35ID:/wewuKga
やっぱりだまっちゃったかw
2021/12/14(火) 19:29:37.68ID:sz49PmUD
ちなみに確認だが、
>>330,331と出してきた(よく探せて偉いぞw)ってことは、
問題にしてるのは
$(($name = 123))
これ
name = 123
これ
=
これ
ってことでいいんだな?

>>340って、もろPOSIXに準拠してるやんって書いてるとこをわざわざ出してイミフなことからも上記の通りで良さげかな

>>339,340
>>336,338の書いた通り
2021/12/14(火) 19:31:39.59ID:/wewuKga
>>342
なんで内容を端折るんだ?
たった3行だろ
全部読めよ
理解してないまま回答してるんだから
そりゃ嘘つき呼ばわりされてもしょうがない

name=value
: $(($name = 123))
echo $value

これってPOSIX準拠?
2021/12/14(火) 19:32:41.80ID:/wewuKga
英語読めない。規格書を読めないって
バカにされていた○○主義者ってのがいたなぁ
2021/12/14(火) 19:34:10.98ID:sz49PmUD
>>343
だから、それ全部、うん だってw そして書いてあるってw

お前が>>330,331と出してきてるんじゃないか
(またその中からもトンチンカンに一部抽出したりしてw)
2021/12/14(火) 19:34:30.12ID:/wewuKga
書いてないことを自分の都合のいいように解釈して突っ走るところもそっくりだ
2021/12/14(火) 19:34:50.92ID:sz49PmUD
>>344
いつもの 自己紹介 か...
ほんとすげえなあ、お前はw
2021/12/14(火) 19:34:51.68ID:/wewuKga
>>345
だから翻訳しておまえに教えてやっただろ
書いてないと
2021/12/14(火) 19:35:59.31ID:/wewuKga
name=value
: $(($name = 123))
echo $value

これよんで、

> 問題にしてるのは
> $(($name = 123))
> これ
> name = 123
> これ
> =
> これ
> ってことでいいんだな?

なんて質問するのも頭が悪い
2021/12/14(火) 19:36:18.40ID:sz49PmUD
>>346,348
いつもの 誤魔化 しかよ
つくづくだな

お前はどこがPOSIX準拠じゃないと思ってるねん?
name=value
: $(($name = 123))
echo $value
全部か?w
2021/12/14(火) 19:37:27.42ID:/wewuKga
>>350
はぁ。説明しないと理解できないのか・・・

POSIXにはname変数の中身が整数定数でないときに
どうなるかの挙動が書いてない

反論はあるか?
2021/12/14(火) 19:38:15.35ID:/wewuKga
ホントなんでこんなバカなんだろうな
2021/12/14(火) 19:38:33.15ID:/wewuKga
英語というか、規格書の読み方をっ勉強したほうがいいぞ
2021/12/14(火) 19:42:47.04ID:sz49PmUD
>>351,352,353
>POSIXにはname変数の中身が整数定数でないときに
>どうなるかの挙動が書いてない
なに言ってるの? name = 123 この部分だろ?
name変数の中身が整数定数 なんて関係ないぞ
コンピューターサイエンスw的に、型が無い言語なら当たり前的にもな

お前は仕様書、規格書読むのに必要な知識が足りなさすぎだがな、
よく言うよほんと自己紹介好きw
2021/12/14(火) 19:44:03.99ID:/wewuKga
> なに言ってるの? name = 123 この部分だろ?

name = 123 と書いたのはおまえ

↓どこにも書いてない。目が悪い?それとも頭?

name=value
: $(($name = 123))
echo $value
2021/12/14(火) 19:44:44.42ID:/wewuKga
> If the shell variable x contains a value that forms a valid integer constant,

読めないんだろうなぁ

はい、翻訳
シェルの変数xが、有効な整数定数を構成する値を含み、
2021/12/14(火) 19:45:07.43ID:6VIYonG0
$nameをvalueに変えるparameter expansionは最初に行われるでしょ
> The shell shall expand all tokens in the expression for parameter expansion, command substitution, and quote removal.
その後は普通にvalue = 123が実行されるだけ
2021/12/14(火) 19:45:36.95ID:/wewuKga
「その後は普通にvalue = 123が実行されるだけ」と書いていない
2021/12/14(火) 19:45:41.12ID:sz49PmUD
>>355
じゃあ、お前の言う
>POSIXにはname変数の中身が整数定数でないときに
>どうなるかの挙動が書いてない
ってどこの部分やねん

お前は他人の文の意味を読めなさすぎ、のくせによく言うよを繰り返しすぎだな
2021/12/14(火) 19:51:21.66ID:sz49PmUD
>>356,358
= の左辺には関係ないとわかりそうなもんだが
というか、そのトンチンカンに取り出した一部ではない全文が何を説明したいのかわかってないだろ
お前は他人の文の意味を読めなさすぎ
2021/12/14(火) 19:57:45.01ID:/wewuKga
>>357
先にパラメータ展開が行われるからこれでいいのか
なるほど

> ID:sz49PmUD
あ、きみ、もういらない
2021/12/14(火) 20:15:07.62ID:/wewuKga
POSIX準拠じゃないのはこれか

name="1+2"
echo $(( name ))
2021/12/14(火) 20:16:20.29ID:/wewuKga
今までの流れからすればこう書いたほうがいいね

name="var=1+2"
echo $(( name ))

name変数の中身が整数定数でないときに
どうなるかの挙動は書いてない
2021/12/14(火) 20:32:34.85ID:2RbqpbYV
シェルスクリプトで小数演算
dc ではいけないのか?
365デフォルトの名無しさん
垢版 |
2021/12/18(土) 21:47:26.51ID:ThKMmio5
文字の長さに応じていい感じにタブの個数調整してくれる素敵なワンライナーとかない?
2021/12/19(日) 00:43:08.09ID:1P9anxgU
ワンライナーじゃなくてコマンドだろ
だいたいタブ個数調整と言われて
仕様がわからないとなんとも言えん
2021/12/19(日) 04:58:32.60ID:Q8lTA8Fy
unexpand
2021/12/25(土) 20:40:43.43ID:62MjaTIU
>>365
仕様をはっきりさせろ。
簡単にできそうで暇だったら俺が作る。
369デフォルトの名無しさん
垢版 |
2021/12/25(土) 21:25:20.38ID:gsyC6xqY
>>368
2バイト文字では試してないけど
タブは8の倍数で位置を揃えるために必要な数が切り替わるので文字列リストの中で最大文字数のものに付与するタブを1として文字数が少なくなるほどタブを増やして行けばいいと分かった

最大文字数が42の場合
0〜7 タブ6つ
8〜15 タブ5つ
16〜23 タブ4つ
24〜31 タブ3つ
32〜39 タブ2つ
40〜47 タブ1つ
……

BINDのzoneファイルにAレコード大量追加したかっただけだから
ifで分岐させてなんとかしたけどもっと上手いことできるなら頼む
370デフォルトの名無しさん
垢版 |
2021/12/25(土) 21:48:29.81ID:sYCPCNUA
>>369
これを渡したら
<test.lst>
abc.c0м
defghijk.c0.jρ
123456.nёt
zzz.i0

これを出力して欲しい
<test_.lst>
abc.c0м   IN A localhostのIP
defghijk.c0.jρ IN A localhostのIP
123456.nёt  IN A localhostのIP
zzz.i0     IN A localhostのIP


スマホからだからあれだがIN A以降は揃ってるつもり
2021/12/25(土) 22:27:57.12ID:qPDC9gWr
printfのが簡単なんじゃないの?
372デフォルトの名無しさん
垢版 |
2021/12/25(土) 22:32:53.73ID:o6Yb7nqK
ifとprintfでやった
373デフォルトの名無しさん
垢版 |
2021/12/26(日) 01:41:37.96ID:7bx5KWMB
>>370
スペース区切りの複数単語が1行に入っていて1番目と2番目の間の空白を調整して2番目が全行で同じ位置から始まるようにするってことね。
2021/12/26(日) 01:44:16.01ID:7bx5KWMB
あ、ちょっと違うか。2番目以降は固定で決まっているから1番目の単語だけ読ませてその後ろのタブを何個付加するかの問題か。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況