シェルスクリプトに関する総合スレッドです。
全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。
・「○○(他の言語)でいいやん」は禁止。他のスレに行ってください。
・「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/
探検
シェルスクリプト総合 その37
■ このスレッドは過去ログ倉庫に格納されています
2021/10/05(火) 22:49:30.91ID:KsbWuyFp
586デフォルトの名無しさん
2022/01/05(水) 21:25:07.58ID:gXRPzTKb587デフォルトの名無しさん
2022/01/05(水) 21:25:43.70ID:gXRPzTKb588デフォルトの名無しさん
2022/01/05(水) 23:00:14.61ID:w3EWhbnX ホンモノのガイジなんだね。。
589デフォルトの名無しさん
2022/01/06(木) 10:05:53.46ID:oxm3scqT590デフォルトの名無しさん
2022/01/06(木) 15:32:38.44ID:mkXv+CyB >>586の方法は重大な欠陥が2つある
スパコンのデータ削除したやつと同レベル
スパコンのデータ削除したやつと同レベル
591デフォルトの名無しさん
2022/01/07(金) 00:05:11.34ID:5/GZEBm/ >>589
必死すぎじゃね?それで議論に勝ったつもりでいるんだろうけどさ
必死すぎじゃね?それで議論に勝ったつもりでいるんだろうけどさ
592デフォルトの名無しさん
2022/01/07(金) 00:05:37.54ID:5/GZEBm/ >>590
ないよ。一つも欠陥について述べられてない
ないよ。一つも欠陥について述べられてない
593デフォルトの名無しさん
2022/01/10(月) 00:22:34.19ID:MINWORCd スレ立てるまでもない質問はここで 158匹目
https://mevius.5ch.net/test/read.cgi/tech/1635193843/538
ここに、YouTube で有名な、雑食系エンジニア・KENTA のサロンの、
Ruby on Rails 初心者用コースの内容を書いておいた
基本的に、Rails以外のフレームワークは、シェアが少ないのでおすすめしない。
学習環境も揃わないので、無理
Railsでは、Railsチュートリアル・Railsガイド・
黒田努の3冊の本・パーフェクト Ruby on Rails・Ruby on Rails 6 エンジニア養成読本とか、
Rubyでは、改訂2版 パーフェクトRuby・改訂2版 Ruby逆引きハンドブックなどの教科書が揃っている
これほど、良い教科書が揃っているフレームワークはない!
Laravel のシェアは少しあるけど、KENTAがPHP は一生やる必要がないと言ったので、
PHP自体がオワコンになってしまったw
日本のウェブ開発の将来は、ほぼKENTAが決めている。
Scala を滅ぼしたのも、KENTA
https://mevius.5ch.net/test/read.cgi/tech/1635193843/538
ここに、YouTube で有名な、雑食系エンジニア・KENTA のサロンの、
Ruby on Rails 初心者用コースの内容を書いておいた
基本的に、Rails以外のフレームワークは、シェアが少ないのでおすすめしない。
学習環境も揃わないので、無理
Railsでは、Railsチュートリアル・Railsガイド・
黒田努の3冊の本・パーフェクト Ruby on Rails・Ruby on Rails 6 エンジニア養成読本とか、
Rubyでは、改訂2版 パーフェクトRuby・改訂2版 Ruby逆引きハンドブックなどの教科書が揃っている
これほど、良い教科書が揃っているフレームワークはない!
Laravel のシェアは少しあるけど、KENTAがPHP は一生やる必要がないと言ったので、
PHP自体がオワコンになってしまったw
日本のウェブ開発の将来は、ほぼKENTAが決めている。
Scala を滅ぼしたのも、KENTA
594デフォルトの名無しさん
2022/01/10(月) 03:25:05.00ID:vc9CW7XN ケントってデリカット?
595デフォルトの名無しさん
2022/01/10(月) 15:35:23.09ID:z5NM8L7h 日本にいるのはギルバードの方
デリカットは帰国
デリカットは帰国
596デフォルトの名無しさん
2022/01/10(月) 17:42:51.83ID:vc9CW7XN 親子じゃないのか?
597デフォルトの名無しさん
2022/01/10(月) 23:18:15.37ID:6sJlMFRp 山形弁の人は?
598デフォルトの名無しさん
2022/01/16(日) 19:06:30.23ID:gUcw8FaB タバコだよ
599デフォルトの名無しさん
2022/01/21(金) 21:19:42.93ID:BxTeu8sU 藤林丈司
600デフォルトの名無しさん
2022/02/03(木) 14:44:47.61ID:PlIeOUah 質問スレなかったのでここで質問させてください。
フォルダ以下の全てのファイル内の特定の文字列からn行ずれた文字列を置換したいんですが、どういうコマンドを打ったら良いでしょうか?
具体的にやりたいこととしては、Unityのprefabファイルやsceneファイル(テキストファイル)に張り付いている特定のコンポーネントの名前を一括で置換したいです。
ファイルの構造は↓こんな感じになっていて、guidがc5b2e3eb25e32904fa18c5ae09b782d9の行の1行下のm_nameを書き換えたいんですが、コマンドがうまく動きません
https://github.com/Unity-Technologies/FPSSample/blob/master/Assets/Prefabs/Cameras/ServerCameraSpot.prefab#L51
作りかけのコマンド
git grep -n c5b2e3eb25e32904fa18c5ae09b782d9-- '*.prefab' | cut -f 1,2 -d ":" | awk -F ":" '{print $1 ":"($2 + 1)}' | sed -n $2p
適当にsedでm_nameを置換指定してしまうと、guidがc5b2e3eb25e32904fa18c5ae09b782d9以外のものまで置換してしまうので、
最初のgit grepでファイル名と行番号他を取得し、次のcutでファイル名と行番号だけにして、awkで行番号+1して、ファイル名と+1した行番号を元に、
ファイル名と行番号を指定したsed -eをしたいんですがprintしたものがうまく最後のsedに渡ってきません
フォルダ以下の全てのファイル内の特定の文字列からn行ずれた文字列を置換したいんですが、どういうコマンドを打ったら良いでしょうか?
具体的にやりたいこととしては、Unityのprefabファイルやsceneファイル(テキストファイル)に張り付いている特定のコンポーネントの名前を一括で置換したいです。
ファイルの構造は↓こんな感じになっていて、guidがc5b2e3eb25e32904fa18c5ae09b782d9の行の1行下のm_nameを書き換えたいんですが、コマンドがうまく動きません
https://github.com/Unity-Technologies/FPSSample/blob/master/Assets/Prefabs/Cameras/ServerCameraSpot.prefab#L51
作りかけのコマンド
git grep -n c5b2e3eb25e32904fa18c5ae09b782d9-- '*.prefab' | cut -f 1,2 -d ":" | awk -F ":" '{print $1 ":"($2 + 1)}' | sed -n $2p
適当にsedでm_nameを置換指定してしまうと、guidがc5b2e3eb25e32904fa18c5ae09b782d9以外のものまで置換してしまうので、
最初のgit grepでファイル名と行番号他を取得し、次のcutでファイル名と行番号だけにして、awkで行番号+1して、ファイル名と+1した行番号を元に、
ファイル名と行番号を指定したsed -eをしたいんですがprintしたものがうまく最後のsedに渡ってきません
601デフォルトの名無しさん
2022/02/03(木) 16:11:17.44ID:709dXRKt602デフォルトの名無しさん
2022/02/03(木) 16:30:52.62ID:vAyV6XNb 処理時間気にしないなら
|while IFS=: name line etc; do sed -e "$((line+1)) s///" $name; done
とかで良くない?
|while IFS=: name line etc; do sed -e "$((line+1)) s///" $name; done
とかで良くない?
603デフォルトの名無しさん
2022/02/03(木) 20:04:28.20ID:Vl/Cta+D604デフォルトの名無しさん
2022/02/03(木) 20:05:59.05ID:Vl/Cta+D まあ別にawkにこだわらなくてもperlとかでもいいけどさ
605デフォルトの名無しさん
2022/02/04(金) 00:19:45.01ID:ZnGIs6if >>600
perl 使ってこんな風にするとか。
perl -pe 'if($f){s/m_Name:/置換したい文字列/}$f=/guid: c5b2e3eb25e32904fa18c5ae09b782d9/' 読むファイル >書くファイル
少なくとも一つ前の行の状態を今読んだ行の処理をする時に分かっていないとできない。
読む方法を行単位にしないのであればその限りではないが。
perl 使ってこんな風にするとか。
perl -pe 'if($f){s/m_Name:/置換したい文字列/}$f=/guid: c5b2e3eb25e32904fa18c5ae09b782d9/' 読むファイル >書くファイル
少なくとも一つ前の行の状態を今読んだ行の処理をする時に分かっていないとできない。
読む方法を行単位にしないのであればその限りではないが。
606デフォルトの名無しさん
2022/02/04(金) 00:34:59.66ID:dkixXFTm perl おじはスレタイ読んで
607デフォルトの名無しさん
2022/02/04(金) 00:45:37.37ID:ZnGIs6if もう一つ awk, sed, xargs の組み合わせでやるやつを考えたが書き込もうとするとエラーになって書けない。
要約を書くと
grep で行番号付きで出力 | awk でコロン区切りで読んで $1 をカンマ区切りで連結した文字列を作った後でその後ろに "s/m_Name:/xxxxx/" の文字列を付けて出力 | xargs で入力はsedスクリプトになるようにしてsedが読むファイルは最初にgrepで指定したファイルと同じにする。
要約を書くと
grep で行番号付きで出力 | awk でコロン区切りで読んで $1 をカンマ区切りで連結した文字列を作った後でその後ろに "s/m_Name:/xxxxx/" の文字列を付けて出力 | xargs で入力はsedスクリプトになるようにしてsedが読むファイルは最初にgrepで指定したファイルと同じにする。
608デフォルトの名無しさん
2022/02/04(金) 00:48:16.47ID:u6SyGW4o unity yamlをparseするほうが堅い
609デフォルトの名無しさん
2022/02/04(金) 00:59:39.90ID:gwUGsBJ+ >>606
シェルスクリプトでperlワンライナーはごく普通
シェルスクリプトでperlワンライナーはごく普通
610デフォルトの名無しさん
2022/02/04(金) 01:03:24.21ID:r4soLYsS そんなこといったら
pythonだってシェル使ってワンライナーやろうと思えばできるじゃん
pythonだってシェル使ってワンライナーやろうと思えばできるじゃん
611デフォルトの名無しさん
2022/02/04(金) 01:16:35.08ID:53s+UEIz せっかくのシェルスクリプトで
ワンライナーにこだわるやつはバカだろ
ワンライナーにこだわるやつはバカだろ
612デフォルトの名無しさん
2022/02/04(金) 01:25:44.27ID:53s+UEIz >>600
なにをどう変えたいのか知らん(読むの面倒)けどこうすればいいだけ
自分でパズル(ワンライナー)問題を作ろうとするな
cat prefab | awk '
/guid: c5b2e3eb25e32904fa18c5ae09b782d9/ {
print
getline
print $0 "new"
next
}
{ print }
'
なにをどう変えたいのか知らん(読むの面倒)けどこうすればいいだけ
自分でパズル(ワンライナー)問題を作ろうとするな
cat prefab | awk '
/guid: c5b2e3eb25e32904fa18c5ae09b782d9/ {
getline
print $0 "new"
next
}
{ print }
'
613デフォルトの名無しさん
2022/02/04(金) 01:54:33.36ID:s9suXC4h >>612
それくらいならSedのが!w
それくらいならSedのが!w
614デフォルトの名無しさん
2022/02/04(金) 02:08:49.30ID:CBYs6kse awk -v "var=`grep -A 1 'guid: c5b' source.prefab | sed -n '2p'`" '{ sub(var, "hello, world!"); print }' source.prefab > after.prefab
615デフォルトの名無しさん
2022/02/04(金) 05:17:13.50ID:QBYNvY3/616デフォルトの名無しさん
2022/02/04(金) 05:38:41.45ID:53s+UEIz617デフォルトの名無しさん
2022/02/04(金) 05:40:08.51ID:53s+UEIz 一ヶ月後、一年後、
読み返してすぐに理解できるのはどっち?って話だよ
読み返してすぐに理解できるのはどっち?って話だよ
618デフォルトの名無しさん
2022/02/04(金) 06:02:38.15ID:o4wrdq2F 可読性w
619デフォルトの名無しさん
2022/02/04(金) 06:25:31.28ID:0Gk4FggV 可読性という言葉はキミの頭の悪さの免罪符ではないですよ?
620デフォルトの名無しさん
2022/02/04(金) 06:46:32.31ID:Nf7lGIz+ ああ、awkを知らないのねw
勉強したほうがいいよ?
勉強したほうがいいよ?
621デフォルトの名無しさん
2022/02/04(金) 09:33:54.99ID:tCsz8H1O sedやawkつかうならperlつかうな
シェルスクリプトなんだから、判定等はそちらに任せて
あくまで置換等の処理限定で
シェルスクリプトなんだから、判定等はそちらに任せて
あくまで置換等の処理限定で
622デフォルトの名無しさん
2022/02/04(金) 09:38:44.39ID:P0nM2TP/ perl にこだわるガイジなんなんw
623デフォルトの名無しさん
2022/02/04(金) 09:56:25.32ID:mTUPlCRU >>600
sedの-zオプション使って複数行まとめて置換すれば?
sed -Ez 's/(guid: c5b2e3eb25e32904fa18c5ae09b782d9[^¥n]*¥n m_Name: )¥n/¥1FOOBAR!!¥n/g' ServerCameraSpot.prefab
sedの-zオプション使って複数行まとめて置換すれば?
sed -Ez 's/(guid: c5b2e3eb25e32904fa18c5ae09b782d9[^¥n]*¥n m_Name: )¥n/¥1FOOBAR!!¥n/g' ServerCameraSpot.prefab
624デフォルトの名無しさん
2022/02/04(金) 09:57:49.27ID:tCsz8H1O 柔軟性のないsedや、ハードル高めのawkよりいいべ
シェルスクリプトができる環境ならだいたいperlは入ってるし
シェルスクリプトができる環境ならだいたいperlは入ってるし
625デフォルトの名無しさん
2022/02/04(金) 10:32:37.85ID:bISwOsTB 条件の行と処理したい行が分かれてる時点で単純なフィルタじゃ無理だからでしょ
awkなりperlなりで状態遷移は必須
むしろsedでできるなら教えてほしい
awkなりperlなりで状態遷移は必須
むしろsedでできるなら教えてほしい
626デフォルトの名無しさん
2022/02/04(金) 11:08:46.57ID:o3KyLJ6X sedで簡単にできとるやんw
627デフォルトの名無しさん
2022/02/04(金) 11:10:04.73ID:+I1ORxpE たくさんのレスありがとうございます、試してみます
628デフォルトの名無しさん
2022/02/04(金) 11:26:16.31ID:NXJAfnlz あっさりワンライナーで書かれたもんだから激おこですな
629デフォルトの名無しさん
2022/02/04(金) 11:42:01.63ID:Nf7lGIz+ ここまで回答が出るのに時間がかかってるのに
あっさりとは言わないw
あっさりとは言わないw
630デフォルトの名無しさん
2022/02/04(金) 11:52:54.93ID:6M3IyixH あっさりでしょ
631デフォルトの名無しさん
2022/02/04(金) 11:56:56.61ID:dkixXFTm こってりがいいな
632デフォルトの名無しさん
2022/02/04(金) 12:20:56.16ID:bISwOsTB やっぱりsedなんだよな
世界一使えるツールやわ
世界一使えるツールやわ
633デフォルトの名無しさん
2022/02/04(金) 12:54:29.42ID:mTUPlCRU ワンショットならsedで十分なのかもしれないけど
同じタスクがまた発生しそうならunity yaml用のツール作っておくほうがいいと思う
from unityparser import UnityDocument
doc = UnityDocument.load_yaml(‘ServerCameraSpot.prefab’)
entry = doc.get(class_name='MonoBehaviour', attributes=('m_Script',))
for k, v in entry.m_Script.items():
if k == 'guid' and v == 'c5b2e3eb25e32904fa18c5ae09b782d9':
entry.m_Name = "FOOBAR!!!"
doc.dump_yaml()
同じタスクがまた発生しそうならunity yaml用のツール作っておくほうがいいと思う
from unityparser import UnityDocument
doc = UnityDocument.load_yaml(‘ServerCameraSpot.prefab’)
entry = doc.get(class_name='MonoBehaviour', attributes=('m_Script',))
for k, v in entry.m_Script.items():
if k == 'guid' and v == 'c5b2e3eb25e32904fa18c5ae09b782d9':
entry.m_Name = "FOOBAR!!!"
doc.dump_yaml()
634デフォルトの名無しさん
2022/02/04(金) 12:58:11.93ID:NMPx/TbP >>612
そんなのただのawkのベタ書きじゃねーか
ベタ餓鬼するなら断然perlのほうがいいよね
cat ServerCameraSpot.prefab | perl -ne '
if (/guid: c5b2e3eb25e32904fa18c5ae09b782d9/) {
chomp($a=<>);
print "$_$a new\n";
} else {
print
}'
perl最強!
そんなのただのawkのベタ書きじゃねーか
ベタ餓鬼するなら断然perlのほうがいいよね
cat ServerCameraSpot.prefab | perl -ne '
if (/guid: c5b2e3eb25e32904fa18c5ae09b782d9/) {
chomp($a=<>);
print "$_$a new\n";
} else {
}'
perl最強!
635デフォルトの名無しさん
2022/02/04(金) 13:10:35.72ID:oFNeucHW sed -e '/guid/,/^/s/m_name/xxx/'
636デフォルトの名無しさん
2022/02/04(金) 13:17:33.47ID:vr7VXdSJ >>623
あの、これ動作してないように思うんですけど‥
あの、これ動作してないように思うんですけど‥
637デフォルトの名無しさん
2022/02/04(金) 13:51:48.01ID:mKMsSnzj Ruby のyaml を使ったら、最初のPrefab 部分しか取れなかった。
行頭に、--- があって、複数の文書として扱われるからかな?
require 'yaml'
data = YAML.load_file( "ServerCameraSpot.prefab" )
p data
出力
{"Prefab"=>{"m_ObjectHideFlags"=>1,
"serializedVersion"=>2,
続く
行頭に、--- があって、複数の文書として扱われるからかな?
require 'yaml'
data = YAML.load_file( "ServerCameraSpot.prefab" )
p data
出力
{"Prefab"=>{"m_ObjectHideFlags"=>1,
"serializedVersion"=>2,
続く
638デフォルトの名無しさん
2022/02/04(金) 14:07:57.65ID:mTUPlCRU >>636
gnu sed 4.8で動いてる
gnu sed 4.8で動いてる
639637
2022/02/04(金) 14:34:10.41ID:mKMsSnzj Ruby のyaml で、load_stream で複数文書を読めるらしいが、
14行目の、--- !u!1 &1459795647327810 で、エラーになる
found undefined tag handle while parsing a node at line 14 column 5 (Psych::SyntaxError)
require 'yaml'
File.open "ServerCameraSpot.prefab" do |io|
p docs = YAML.load_stream( io )
end
14行目の、--- !u!1 &1459795647327810 で、エラーになる
found undefined tag handle while parsing a node at line 14 column 5 (Psych::SyntaxError)
require 'yaml'
File.open "ServerCameraSpot.prefab" do |io|
p docs = YAML.load_stream( io )
end
640デフォルトの名無しさん
2022/02/04(金) 14:43:47.14ID:u7GqER63641637
2022/02/04(金) 17:49:45.92ID:mKMsSnzj Unity は、UnityYAML と呼ばれる、独自に最適化された、YAML ライブラリを使用します。
UnityYAML ライブラリは、完全な YAML 仕様をサポートしません
--- で始まる行を、--- に置換すると、Ruby のYAMLでも動いた
require 'yaml'
# 行末の改行を削除して、1行ずつ処理する。accum は蓄積変数
input_yaml = File.foreach( "ServerCameraSpot.prefab", chomp: true ).with_object( String.new( ) ) do |line, accum|
line = "---" if line.start_with?( "---" )
accum.concat( line, "\n" )
end
docs = YAML.load_stream( input_yaml ) # 複数文書
p docs.dig( 1, "GameObject", "m_Name" ) #=> "ServerCameraSpot"
UnityYAML ライブラリは、完全な YAML 仕様をサポートしません
--- で始まる行を、--- に置換すると、Ruby のYAMLでも動いた
require 'yaml'
# 行末の改行を削除して、1行ずつ処理する。accum は蓄積変数
input_yaml = File.foreach( "ServerCameraSpot.prefab", chomp: true ).with_object( String.new( ) ) do |line, accum|
line = "---" if line.start_with?( "---" )
accum.concat( line, "\n" )
end
docs = YAML.load_stream( input_yaml ) # 複数文書
p docs.dig( 1, "GameObject", "m_Name" ) #=> "ServerCameraSpot"
642637
2022/02/05(土) 12:59:45.97ID:Wxa6LWM/ >>641
の最後の行を、コメントにして、
# p docs.dig( 1, "GameObject", "m_Name" ) #=> "ServerCameraSpot"
その後ろに、下の2行を付け加えると、内容を変更して出力できる。
docs[ 3 ][ "MonoBehaviour" ][ "m_Name" ] = "あいう" # 変更
puts YAML.dump_stream( *docs ) # 複数文書
ただし最初の、% で始まる、2行のディレクティブが出力されない。
それと、複数文書の区切りが、--- となる
--- !u!1001 &100100000
みたいな、Unity の型を、Ruby では解釈できない
UnityのYAMLは正規形じゃないから、普通のパーサーで解釈するのは、骨が折れる
の最後の行を、コメントにして、
# p docs.dig( 1, "GameObject", "m_Name" ) #=> "ServerCameraSpot"
その後ろに、下の2行を付け加えると、内容を変更して出力できる。
docs[ 3 ][ "MonoBehaviour" ][ "m_Name" ] = "あいう" # 変更
puts YAML.dump_stream( *docs ) # 複数文書
ただし最初の、% で始まる、2行のディレクティブが出力されない。
それと、複数文書の区切りが、--- となる
--- !u!1001 &100100000
みたいな、Unity の型を、Ruby では解釈できない
UnityのYAMLは正規形じゃないから、普通のパーサーで解釈するのは、骨が折れる
643デフォルトの名無しさん
2022/03/01(火) 06:59:09.07ID:/KEw0dOm timeコマンドみたいな感じで、あるプロセスとその子プロセスが読み書きした
ファイルのデータ量を簡単に調べる方法ないですかね?
Linux板に書き込めなかったのでここで
ファイルのデータ量を簡単に調べる方法ないですかね?
Linux板に書き込めなかったのでここで
644デフォルトの名無しさん
2022/03/01(火) 07:24:58.47ID:2BqTSfQO 俺が知らないだけかもしれんが、コマンドとしてはないんじゃないかな?
mmapのメモリコピーによる書き出しの捕捉はカーネル空間じゃないと無理だろうし
比較的簡易的なのはstraceだけど、mmapのは漏らす
面倒なのでstapとか思いつく
mmapのメモリコピーによる書き出しの捕捉はカーネル空間じゃないと無理だろうし
比較的簡易的なのはstraceだけど、mmapのは漏らす
面倒なのでstapとか思いつく
645デフォルトの名無しさん
2022/03/01(火) 07:49:43.09ID:/KEw0dOm でもiostatとかで書き込み量わかるじゃん?
646デフォルトの名無しさん
2022/03/01(火) 07:49:59.81ID:/KEw0dOm リアルタイムなら
647デフォルトの名無しさん
2022/03/01(火) 21:44:05.39ID:84NGcGuL Linux 板は、荒らし退治がすごい
もう何か月も書けない。まだ、何年も続きそう
もう何か月も書けない。まだ、何年も続きそう
648デフォルトの名無しさん
2022/03/01(火) 21:55:02.49ID:84NGcGuL 「linux メモリ使用量 プロセス 監視」などで、検索すれば?
Zabbix などに、そういう項目は無いのか?
Zabbix などに、そういう項目は無いのか?
649デフォルトの名無しさん
2022/03/02(水) 06:37:00.21ID:ZAk/CGpZ >>648
そのコマンドって一瞬で実行が終わるんですよね
そのコマンドって一瞬で実行が終わるんですよね
650デフォルトの名無しさん
2022/03/04(金) 16:44:51.36ID:ooZxW1Kt >>645
/proc/$pid/io は?
/proc/$pid/io は?
651デフォルトの名無しさん
2022/03/23(水) 04:36:10.53ID:SaPfQQES ちんちんシュッ!シュッ!シュッ!
652デフォルトの名無しさん
2022/03/23(水) 12:28:20.41ID:ETZJHb21 sh!sh!
653デフォルトの名無しさん
2022/03/25(金) 23:16:30.56ID:ztMhdJXY 久しぶりにこのスレ来たけどPOSIX云々言ってた人消えたんだな
一気に過疎ったな
一気に過疎ったな
654デフォルトの名無しさん
2022/03/25(金) 23:41:47.44ID:gyoQnKSX そりゃま過疎らせるためにやってたんだし
655デフォルトの名無しさん
2022/03/26(土) 00:16:03.42ID:zwuOpZDB perlジジイとかワンライナー大嫌いマンとか
656デフォルトの名無しさん
2022/03/26(土) 04:10:35.39ID:fJwm7Jgq 一時期は数ヶ月で1スレ消火するぐらいの勢いがあったのに。つわものどもが夢の跡
657デフォルトの名無しさん
2022/03/29(火) 02:20:12.64ID:6KgrCIX2 今度はTwitterで騒いでるよw
658デフォルトの名無しさん
2022/03/29(火) 09:16:04.55ID:3XcWZYBt 見てきたけど酷いな。よくシェルショッカーなんて相手にするよ
リッチー大佐も冷静を装ってるが完全に脅迫になってるのわかってないのかな
リッチー大佐も冷静を装ってるが完全に脅迫になってるのわかってないのかな
659デフォルトの名無しさん
2022/04/05(火) 14:11:34.15ID:dKCEu0lS BourneがALGOL策定に関わってたからfiとかesacになった、odは名前被りで免れたという小噺は聞いたことあったが、ここまで染まりきってたとは思わなかった
さすがにソース内までは免れきってない、あとPOOLってなんだよ…
https://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh/mac.h
さすがにソース内までは免れきってない、あとPOOLってなんだよ…
https://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh/mac.h
660デフォルトの名無しさん
2022/04/05(火) 15:31:19.76ID:0XOZrJsf 昔は、マクロでCを他の言語っぽく書けるようにする、つー流派?があったからなあ。w
begin/endを定義してPascalっぽくとか。
begin/endを定義してPascalっぽくとか。
661デフォルトの名無しさん
2022/04/05(火) 23:33:41.59ID:evtsrebn662デフォルトの名無しさん
2022/04/05(火) 23:34:11.57ID:evtsrebn >>660
COBOLっぽくしてるのを見たことがあるな
COBOLっぽくしてるのを見たことがあるな
663デフォルトの名無しさん
2022/04/06(水) 16:06:26.14ID:S7CGIPqQ doが対称性を崩してるよな
キーワード …; do
…
done
FOR-ROF
LOOP-POOL
WHILE-ELIHW
美しい対称性
キーワード …; do
…
done
FOR-ROF
LOOP-POOL
WHILE-ELIHW
美しい対称性
664デフォルトの名無しさん
2022/04/07(木) 16:39:39.21ID:pi20fczf xargs コマンドの -P オプションに、3時間ぐらい前に気付いた。
665デフォルトの名無しさん
2022/04/11(月) 13:29:24.85ID:KjtEvxV7 >>659
#define POOL }
これやったことあるわ…
cの式とbrainf**kの命令は一対一対応してるので、main()内にそのまま展開すればbfトランスパイラになる
これそのままで動く
https://en.m.wikipedia.org/wiki/Brainfuck
brainfuck command C equivalent
(Program Start) char array[30000] = {0}; char *ptr = array;
> ++ptr;
< --ptr;
+ ++*ptr;
- --*ptr;
. putchar(*ptr);
, *ptr = getchar();
[ while (*ptr) {
] }
大体合法なCトークンじゃないので、一度BRAに置き換えてsedで置換する必要はあったけど
#define POOL }
これやったことあるわ…
cの式とbrainf**kの命令は一対一対応してるので、main()内にそのまま展開すればbfトランスパイラになる
これそのままで動く
https://en.m.wikipedia.org/wiki/Brainfuck
brainfuck command C equivalent
(Program Start) char array[30000] = {0}; char *ptr = array;
> ++ptr;
< --ptr;
+ ++*ptr;
- --*ptr;
. putchar(*ptr);
, *ptr = getchar();
[ while (*ptr) {
] }
大体合法なCトークンじゃないので、一度BRAに置き換えてsedで置換する必要はあったけど
666デフォルトの名無しさん
2022/04/15(金) 15:18:31.03ID:LoHMCFtw bashの
[[ -a ${TMP_FILE} ]] && rm -f ${TMP_FILE}
って-aとか[[ ]] &&とかそれぞれどういう意味なの?
TMP_FILEがあったら消すってことなんだろうけど
[[ -a ${TMP_FILE} ]] && rm -f ${TMP_FILE}
って-aとか[[ ]] &&とかそれぞれどういう意味なの?
TMP_FILEがあったら消すってことなんだろうけど
667デフォルトの名無しさん
2022/04/15(金) 16:01:54.46ID:hbtBlxLh -aはファイルが存在すれば真になるという古い書き方
ANDの意味の-aと間違いやすいから-eを使え
&&は普通にANDだろ
ANDの意味の-aと間違いやすいから-eを使え
&&は普通にANDだろ
668デフォルトの名無しさん
2022/04/15(金) 16:05:53.77ID:LoHMCFtw >>667
古い書き方なのねandの-aと紛らわしいな
古い書き方なのねandの-aと紛らわしいな
669デフォルトの名無しさん
2022/04/15(金) 19:25:44.34ID:b3yZs9Hw man bash
670デフォルトの名無しさん
2022/04/16(土) 09:12:23.33ID:AbnHWb9H 短絡評価。真、偽の順で表示される
and の場合は、左辺が偽なら、右辺を評価せずに、偽が確定する。
or の場合は、左辺が真なら、右辺を評価せずに、真が確定する
[ a = a ] && echo 真
[ a = b ] && echo 表示されない
[ a = a ] || echo 表示されない
[ a = b ] || echo 偽
and の場合は、左辺が偽なら、右辺を評価せずに、偽が確定する。
or の場合は、左辺が真なら、右辺を評価せずに、真が確定する
[ a = a ] && echo 真
[ a = b ] && echo 表示されない
[ a = a ] || echo 表示されない
[ a = b ] || echo 偽
671デフォルトの名無しさん
2022/04/18(月) 16:18:56.11ID:GGXXVNot bashは構文を拡張しすぎたせいで、変なのを書くやつが増産されてしまった。
672デフォルトの名無しさん
2022/04/18(月) 16:20:19.34ID:GGXXVNot >>668
[]がコマンドであることを認識した方がいい
[]がコマンドであることを認識した方がいい
673デフォルトの名無しさん
2022/04/18(月) 17:06:06.95ID:CQwGdbgT >>671
変なのって?
変なのって?
674デフォルトの名無しさん
2022/04/18(月) 18:56:00.27ID:IfcMEIPj >>672
testコマンドってこと?
testコマンドってこと?
675デフォルトの名無しさん
2022/04/20(水) 11:54:29.01ID:e4Ywa9g+ 昔は [ が test にシンボリックリンクされていたものぢゃ
676デフォルトの名無しさん
2022/04/20(水) 17:00:20.67ID:SrakFfBy ファイルの先頭と末尾だけを表示させたくて
$ (head;tail) < tmp
みたいなことをしててふとハマったんだけど、
$ for i in {00..60};do echo "22-04-20 00:$i"; done > tmp
$ (head;tail) < <(grep 22-04-20 tmp)
だと head 分しか表示されなかった
多分シグナルとかの関係だろう、と思ってるんだけどイケてる回避策ってあるかな?
まあなければ愚直にファイルに書き出すだけなんだけども
$ (head;tail) < tmp
みたいなことをしててふとハマったんだけど、
$ for i in {00..60};do echo "22-04-20 00:$i"; done > tmp
$ (head;tail) < <(grep 22-04-20 tmp)
だと head 分しか表示されなかった
多分シグナルとかの関係だろう、と思ってるんだけどイケてる回避策ってあるかな?
まあなければ愚直にファイルに書き出すだけなんだけども
677デフォルトの名無しさん
2022/04/20(水) 17:17:12.72ID:65nfU3ze たぶんheadが複数行まとめて読み込んで行数とか判断してるんだと思う
回避策はないかな
stdinから読み込む挙動を変えるオプションも無さそうだし
回避策はないかな
stdinから読み込む挙動を変えるオプションも無さそうだし
678デフォルトの名無しさん
2022/04/20(水) 18:43:04.89ID:z0poUMkB (sed -u 10q;tail) < <(grep 22-04-20 tmp)
679デフォルトの名無しさん
2022/04/21(木) 12:40:10.24ID:yp5x7VDG せやったら全部Sedだけでええやろ!w
と思ったけど、なるほど、むつかしいんやな。。。
末尾複数行を簡単につまめないんやった。
$(($(wc ...)-N))を埋め込んだらできるけど、それもなー。
と思ったけど、なるほど、むつかしいんやな。。。
末尾複数行を簡単につまめないんやった。
$(($(wc ...)-N))を埋め込んだらできるけど、それもなー。
680デフォルトの名無しさん
2022/04/21(木) 12:49:57.95ID:zIIL/8l3 どうでもいいけど22-04-20 00:60ってなによ
681デフォルトの名無しさん
2022/04/21(木) 13:00:42.66ID:kU09vtpu そりゃまあ20年4月22日のことやろ
682デフォルトの名無しさん
2022/04/21(木) 14:22:25.48ID:zIIL/8l3 年月日ではなく時分のところ
683デフォルトの名無しさん
2022/04/21(木) 17:47:43.38ID:ADsYJBoB684デフォルトの名無しさん
2022/04/21(木) 21:22:45.77ID:+ZjRtsOn readでcsvのヘッダを読んで、本体だけが次のパイプに渡って処理され、最後にcatで再結合する技は見たことある
つまり、head じゃなくて10行readならいけるんでないか?
つまり、head じゃなくて10行readならいけるんでないか?
685デフォルトの名無しさん
2022/04/21(木) 21:39:19.32ID:KpiRnbrU■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【いちご高騰】ヤマザキのクリスマスケーキ、いちご無し販売 [おっさん友の会★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★11 [樽悶★]
- ひろゆき氏 高市首相の台湾有事発言 「日本が得たものあまりない。経済的なマイナスは明確に存在」 [冬月記者★]
- 【音楽】『日本レコード大賞』各賞発表! 大賞候補にILLIT、M!LK、ふるっぱー、幾田りら、アイナ、ミセスら… 作詩賞は指原莉乃 [冬月記者★]
- 置き配受け取り人さん、配達員に冷え冷えの飲み物を差し入れしネット大荒れ、ちょっとした善意なのにどうして😭 [152212454]
- 【すべてが】𝗮𝗺͜𝗮͉𝘇𝗼𝗻ブラックフライデーSALE総合【いいだろ!】 [194819832]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 霊感持ちのケンモメンっているの? [377482965]
- 埼玉
- 【悲報】秋元康「女性アイドルグループはもうオワコン。会いにいける男性アイドルグループを作る」 [455031798]
