[過去ログ] シェルスクリプト総合 その31 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
161: デフォルトの名無しさん [sage] 2019/08/19(月) 20:53:38.13 ID:PiISpjsD(1/8) AAS
>>160人の話ちゃんと聞こうぜ?
誰も妄想レベルの機能を言っちゃいない。
既に実装済みの機能をPOSIXで標準化しようって話をしてる。
164: デフォルトの名無しさん [sage] 2019/08/19(月) 21:03:35.55 ID:PiISpjsD(2/8) AAS
>>162162(2): デフォルトの名無しさん [sage] 2019/08/19(月) 20:58:54.83 ID:QrnBNgWe(1) AAS
pasteで処理の結果をくっつける方法ってありますか?
処理A、処理B、処理Cの計3つでファイルを作成せずにくっつけたいです。
pasteは複数のファイルを受け付ける
pasterは標準入力からも受け付ける
この二つのどちらかまたは両方を使えばでできるでしょ?
166: デフォルトの名無しさん [sage] 2019/08/19(月) 21:04:17.45 ID:PiISpjsD(3/8) AAS
あ、入力元はファイルじゃないのか?
168: デフォルトの名無しさん [sage] 2019/08/19(月) 21:08:14.71 ID:PiISpjsD(4/8) AAS
pasteは複数の標準入力を受け付けるみたいね
printf '%s\n' a b c d e f g | paste - - -
a b c
d e f
g
だから処理A、処理B、処理Cをそれぞれ1行ずつ
出力できるならくっつけられるね。
169: デフォルトの名無しさん [sage] 2019/08/19(月) 21:12:53.53 ID:PiISpjsD(5/8) AAS
あとは処理A、処理B、処理Cの順でデータを出力するなら、
それぞれ変数に入れといて、1行ずつとりだすとか。
まあできなくはない。
170: デフォルトの名無しさん [sage] 2019/08/19(月) 21:26:09.66 ID:PiISpjsD(6/8) AAS
>>167> BashやZshに依存してもいいならこれ。
どこでも動かないのはPOSIXに>>163が入ってないからだね
172: デフォルトの名無しさん [sage] 2019/08/19(月) 21:38:04.83 ID:PiISpjsD(7/8) AAS
>>162
あ、nlとsort使えばいけるじゃん。
(
処理Aを出力 | nl -i3 # 1, 4, 7 と行番号をつける
処理Bを出力 | nl -i3 -v2 # 2, 5, 8, と行番号をつける
処理Cを出力 | nl -i3 -v3 # 3, 6, 9, と行番号をつける
) | sort -n | paste - - - | 行番号を削除
これでできないかな?
行番号を消すのは、nlの-sで区切り記号をつけられるから、
cutかsedでやればいいかな? 1行目が1ってわかってるから、
行番号の文字数もわかるので、あとはどうにかw
173(1): デフォルトの名無しさん [sage] 2019/08/19(月) 21:52:44.53 ID:PiISpjsD(8/8) AAS
こんな感じかな?
a() { printf '%s\n' a b c d e; }
b() { printf '%s\n' A B C D E; }
c() { printf '%s\n' 1 2 3 4 5; }
{
a | nl -i3 -v1 -s:
b | nl -i3 -v2 -s:
c | nl -i3 -v3 -s:
} | sort -n | cut -d: -f2- | paste - - -
出力
a A 1
b B 2
c C 3
d D 4
e E 5
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.550s*