シェルスクリプトの総合スレです。
□お約束
・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。
bash/zsh/ksh/ashなどに依存する場合は明示しましょう。
Linuxユーザは/bin/shの正体がbashまたはdashなので特に注意。
FreeBSDユーザは/bin/shの正体がashなので注意。
v7 shに一番近くて、現役のshは、OpenSolaris由来のheirloom sh。
http://src.illumos.org/source/xref/illumos-gate/usr/src/cmd/sh/
http://heirloom.sourceforge.net/sh.html
・csh/tcshのシェルスクリプトは推奨されません。
(理由は「csh-whynot」でググれ)
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。
manや参考リンクを見ましょう。
aproposないしはman -kでそれらしい単語による簡単な検索もできます。
・シェルで使えるワイルドカード等は正規表現ではありません。
正規表現の話題はスレ違い(正規表現スレへ)
・シェルスクリプトのことをシェルってゆーな
□初心者へのアドバイス:
・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも
awkまたはperlの方が適した処理にはそちらを使いましょう。
・知らないコマンドが出てきたらmanを引きましょう。
・思い通りに動かないときは、まずは sh -x でトレースしましょう。
□回答者への注意事項:
・シェルスクリプトでの処理方法を質問しているのに、よくわからずに
「そういうのはperl使いましょう」と回答するのはやめましょう。
安易にperlに逃げずにシェルスクリプトで処理するのが頭のいいやり方。
前スレ
シェルスクリプト総合 その25
http://echo.2ch.net/test/read.cgi/unix/1439563321/
探検
シェルスクリプト総合 その26 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/03/20(月) 12:07:26.41
2017/05/16(火) 08:32:03.95
>>189
dev使うのはOS依存じゃね?
dev使うのはOS依存じゃね?
2017/05/16(火) 10:02:35.57
>>188
stderrもリダイレクトできるよ
stderrもリダイレクトできるよ
192名無しさん@お腹いっぱい。
2017/05/19(金) 20:34:10.11 シェルってオブジェクト指向で書けないの?
暗黙的ルール多すぎだろ
暗黙的ルール多すぎだろ
2017/05/19(金) 22:16:49.58
2017/05/19(金) 23:31:44.94
195名無しさん@お腹いっぱい。
2017/05/20(土) 03:14:17.14 シェルはパイプで渡していくと
関数型っぽいけど
関数型っぽいけど
2017/05/20(土) 09:42:17.19
関数型と見るかメソッドチェーンと見るかの違いだな。
2017/05/20(土) 21:59:01.54
2017/05/20(土) 22:19:56.29
>>192
オブジェクト指向で書くと暗黙のルールがなくなるの?
オブジェクト指向で書くと暗黙のルールがなくなるの?
2017/05/21(日) 05:34:32.67
2017/05/21(日) 18:05:12.85
>>192 はシェルの開発言語のことを聞いてるんだよね?
確かに、たいていのシェルはCで書かれてるし
確かに、たいていのシェルはCで書かれてるし
2017/05/21(日) 19:34:04.56
だんだん分けわからなくなってきたわ
2017/05/23(火) 14:55:53.34
$ls>hoge.txt
だとカレントディレクトリのリストができますけど、
さらに深堀りして、そこにあるフォルダ(ディレクトリの中身)も表示させるには
どうすればいいのでしょうか?
それから、
フォルダかファイルの名前 ディレクトリ名(/Users/namae/nanntyaca/hogehoge.txt)
のようなふうに二つを並べて吐き出させたいのですがどうすればいいでしょうか?
だとカレントディレクトリのリストができますけど、
さらに深堀りして、そこにあるフォルダ(ディレクトリの中身)も表示させるには
どうすればいいのでしょうか?
それから、
フォルダかファイルの名前 ディレクトリ名(/Users/namae/nanntyaca/hogehoge.txt)
のようなふうに二つを並べて吐き出させたいのですがどうすればいいでしょうか?
2017/05/23(火) 15:04:02.31
>>202
find . -type f > hoge.txt
find . -type f > hoge.txt
2017/05/23(火) 15:30:08.76
>>203
ありがとうディレクトリのリストができました。
ディレクトリのリストから、htmlのリストを作ろうとすると、どうするのが
いいのでしょうか?クリックすると当該ディレクトリに飛ぶようにしたい
だけなのです。考えていたのはtexのファイルにするということなのですが。
ありがとうディレクトリのリストができました。
ディレクトリのリストから、htmlのリストを作ろうとすると、どうするのが
いいのでしょうか?クリックすると当該ディレクトリに飛ぶようにしたい
だけなのです。考えていたのはtexのファイルにするということなのですが。
2017/05/23(火) 15:38:50.01
ハイパーリンク作るまでやるならshの範疇じゃない気がするが
なんでも聞かずに少しはぐぐったらどうよ
なんでも聞かずに少しはぐぐったらどうよ
2017/05/23(火) 16:05:32.00
ありがとうございます
ぐぐります
ぐぐります
2017/05/25(木) 08:52:58.76
w3m . -dump_source >dir.html
2017/05/26(金) 02:49:12.98
2017/05/26(金) 03:27:01.73
横から
Content-type: text/html
htmlはtextの中でどう書くかというルールに過ぎない
拡張子なんてのはexplorer.exeとかのソフトがどのアプリケーションソフトを起動するかのヒント程度
名前などどうでもいい
w3m . -dump_sourceは、.(このディレクトリ)をhtmlで書き出せ、と命令してる
Content-type: text/html
htmlはtextの中でどう書くかというルールに過ぎない
拡張子なんてのはexplorer.exeとかのソフトがどのアプリケーションソフトを起動するかのヒント程度
名前などどうでもいい
w3m . -dump_sourceは、.(このディレクトリ)をhtmlで書き出せ、と命令してる
2017/05/26(金) 07:39:50.94
2017/06/02(金) 10:47:53.61
シェルスクリプトの本で、こんな便利なことができるという感じの
スクリプトを紹介するような感じでできてる本というのでお薦めの本は
あるでしょうか?
スクリプトを紹介するような感じでできてる本というのでお薦めの本は
あるでしょうか?
2017/06/02(金) 11:25:57.91
213sage
2017/06/02(金) 20:17:29.65 (head ; tail ) < file
で、先頭10行・末尾10行が出るのはどういう仕組み?
FreeBSD+ash、bash で確認。
man にはそれらしい記述がないように見える。
で、先頭10行・末尾10行が出るのはどういう仕組み?
FreeBSD+ash、bash で確認。
man にはそれらしい記述がないように見える。
2017/06/02(金) 21:17:20.29
ちなみに GNU coreutils の head, tail だと
seq 10 | { head -1; tail -1; }
1
となる。以下の場合は
seq 10240 | { head -1; tail -1; }
1
10240
となる。これは head コマンドが一定量のデータをバッファリングした
まま処理を終了してまうから。BSD系のコマンドでは未使用なデータは
パイプバッファに戻してくれるので tail コマンドで読み出すことができる。
seq 10 | { head -1; tail -1; }
1
となる。以下の場合は
seq 10240 | { head -1; tail -1; }
1
10240
となる。これは head コマンドが一定量のデータをバッファリングした
まま処理を終了してまうから。BSD系のコマンドでは未使用なデータは
パイプバッファに戻してくれるので tail コマンドで読み出すことができる。
2017/06/03(土) 15:49:14.51
ともにデフォルトが10行だからじゃないの?
2017/06/04(日) 01:26:27.62
2017/06/05(月) 08:12:28.10
どうやって実現してるの?パイプではseekできないと
ずっと思ってた
ずっと思ってた
2017/06/05(月) 10:37:40.02
tailのソース読んでみたら?
2017/06/06(火) 12:55:43.92
>>214
BSDは知らないけど、普通stdioで読む単位は4096byteとかだから
headがそれを読んでexitした場合残りをtailが読むことになる
入力データが4096byte以下ならheadしか受け取れないが、大きければ
headとtailがそれぞれ入力を受け取れる
パイプに戻すとかいうインタフェースはunixにはない
BSDは知らないけど、普通stdioで読む単位は4096byteとかだから
headがそれを読んでexitした場合残りをtailが読むことになる
入力データが4096byte以下ならheadしか受け取れないが、大きければ
headとtailがそれぞれ入力を受け取れる
パイプに戻すとかいうインタフェースはunixにはない
220213
2017/06/13(火) 13:42:47.20 どうもです。
要は head と tail でディスクリプタを共有してて、未 read の部分を tail が読んでいるんだと思うんだけど、
親子じゃないプロセスでディスクリプタ共有なんてできるんでしたっけ、と思って驚いた
(できてるから、できるんだろうけど)。
ちなみに tcsh でもできた。
ただ、下記の ★1 と ★2 で結果が違うのはどうしてなんでしょう。
コマンドかファイルかで、stdio のバッファリングの違いってあったっけ。
$ seq 100 > seq100.txt
$ seq 10024 > seq10024.txt
$ cat seq100.txt | { head -1 ; tail -1 ; } # ★1
1
$ { head -1 ; tail -1 ; } < seq100.txt # ★2
1
100
$ cat seq10024.txt | { head -1 ; tail -1 ; }
1
10024
$ { head -1 ; tail -1 ; } < seq10024.txt
1
10024
要は head と tail でディスクリプタを共有してて、未 read の部分を tail が読んでいるんだと思うんだけど、
親子じゃないプロセスでディスクリプタ共有なんてできるんでしたっけ、と思って驚いた
(できてるから、できるんだろうけど)。
ちなみに tcsh でもできた。
ただ、下記の ★1 と ★2 で結果が違うのはどうしてなんでしょう。
コマンドかファイルかで、stdio のバッファリングの違いってあったっけ。
$ seq 100 > seq100.txt
$ seq 10024 > seq10024.txt
$ cat seq100.txt | { head -1 ; tail -1 ; } # ★1
1
$ { head -1 ; tail -1 ; } < seq100.txt # ★2
1
100
$ cat seq10024.txt | { head -1 ; tail -1 ; }
1
10024
$ { head -1 ; tail -1 ; } < seq10024.txt
1
10024
221213
2017/06/13(火) 13:51:01.95 >>214
> ちなみに GNU coreutils の head, tail だと
> seq 10 | { head -1; tail -1; }
> 1
> となる。
なお、FreeBSD でも
$ jot 10 | { head -1; tail -1; }
1
でした。
head・tail で共有しているのはディスクリプタだけであって、
stdio バッファの共有はしていないので、戻すってのが ungetc(3) 的な
ものを指しているのであれば、戻したとしても tail がそれを読めるわけでは
ないと思っています。
> ちなみに GNU coreutils の head, tail だと
> seq 10 | { head -1; tail -1; }
> 1
> となる。
なお、FreeBSD でも
$ jot 10 | { head -1; tail -1; }
1
でした。
head・tail で共有しているのはディスクリプタだけであって、
stdio バッファの共有はしていないので、戻すってのが ungetc(3) 的な
ものを指しているのであれば、戻したとしても tail がそれを読めるわけでは
ないと思っています。
2017/06/13(火) 15:00:33.86
223213
2017/06/13(火) 15:13:53.06 ★1も★2 も seq 100 なのに、なぜ結果が違うのか、というのが疑問なのであります。
2017/06/13(火) 15:15:44.72
ファイルディスクリプタがプレーンファイルならlseekするから
2017/06/13(火) 15:19:58.75
ごめん、mmapだった
2017/06/14(水) 09:15:41.39
227213
2017/06/14(水) 10:53:46.67 ありがとうございます。
https://svnweb.freebsd.org/base/head/usr.bin/tail/tail.c?revision=314436&view=markup#l227
で lseek で先頭に戻るってのが成功するか否か、ってことですね。
https://svnweb.freebsd.org/base/head/usr.bin/tail/tail.c?revision=314436&view=markup#l227
で lseek で先頭に戻るってのが成功するか否か、ってことですね。
2017/06/14(水) 11:09:43.34
head -1 じゃなくて read を使ってこんな事をしてたり
df -h | { read h; echo "$h"; sort -k5,5gr; }
df -h | { read h; echo "$h"; sort -k5,5gr; }
229名無しさん@お腹いっぱい。
2017/07/01(土) 20:45:46.61 流石に上手いわ
230名無しさん@お腹いっぱい。
2017/07/01(土) 23:39:20.14 >>228
惚れる。UNIX の基本コマンドだけじゃん
惚れる。UNIX の基本コマンドだけじゃん
2017/07/05(水) 17:14:04.26
>>228
やるやん(´・ω・`)
やるやん(´・ω・`)
2017/07/08(土) 09:49:05.30
>>220
子同士だから親から引き継いだ同じものを共有してる
子同士だから親から引き継いだ同じものを共有してる
2017/07/15(土) 18:10:48.03
Eclipse上でシェルスクリプトを動かしたいんだけど、どのサイトを参考にすればいいですか?
2017/07/15(土) 18:28:08.93
site:2ch.net 付けてググれ
2017/07/31(月) 07:52:04.50
# 使用しているのは GNU/Linux なので微妙にスレチかもしれないです。
GNU/Linux では /bin/sh が /bin/bash へのシンボリックリンクになっています。
私が利用している Fedora 26, Linux Kernel 4.11.11 では
bash$ readlink -e `which sh`
/usr/bin/bash
でした。(Fedora では /bin 全体が /usr/bin へのシンボリックリンクです。そういう方針です)
ファイルシステム等と共にシェルスクリプトの高速化を図ろうと,
Bourne Shell 互換で GNU bash より低機能で処理が高速な GNU dash を
/bin/sh へのシンボリックリンクにしました。
bash# rpm -qa | grep -E "^dash"
dash-0.5.9-2.fc26.x86_64
bash# unlink `which sh` && ln -s /usr/bin/dash /usr/bin/sh
再起動すると Xorg およびディスプレイマネージャは正常に起動したのですが,
ログイン後デスクトップ環境(Xfce4)が起動しません。
エラーログを取得しようにもコンソールl(/dev/tty1とか)にさえログインできず,
結局外部から /bin/sh を /usr/bin/bash に割り当て直して無事ログインできました。
原因はデスクトップ環境を構築しているシェルスクリプトのどこかに bash 独自の機能を要する文法があると思われます。
そこで質問なのですが,実際にログインプロセスを踏まずにそれを再現できるシェルスクリプトの作り方を教えてください。
長くて申し訳ないです。よろしくおねがいします。
GNU/Linux では /bin/sh が /bin/bash へのシンボリックリンクになっています。
私が利用している Fedora 26, Linux Kernel 4.11.11 では
bash$ readlink -e `which sh`
/usr/bin/bash
でした。(Fedora では /bin 全体が /usr/bin へのシンボリックリンクです。そういう方針です)
ファイルシステム等と共にシェルスクリプトの高速化を図ろうと,
Bourne Shell 互換で GNU bash より低機能で処理が高速な GNU dash を
/bin/sh へのシンボリックリンクにしました。
bash# rpm -qa | grep -E "^dash"
dash-0.5.9-2.fc26.x86_64
bash# unlink `which sh` && ln -s /usr/bin/dash /usr/bin/sh
再起動すると Xorg およびディスプレイマネージャは正常に起動したのですが,
ログイン後デスクトップ環境(Xfce4)が起動しません。
エラーログを取得しようにもコンソールl(/dev/tty1とか)にさえログインできず,
結局外部から /bin/sh を /usr/bin/bash に割り当て直して無事ログインできました。
原因はデスクトップ環境を構築しているシェルスクリプトのどこかに bash 独自の機能を要する文法があると思われます。
そこで質問なのですが,実際にログインプロセスを踏まずにそれを再現できるシェルスクリプトの作り方を教えてください。
長くて申し訳ないです。よろしくおねがいします。
2017/07/31(月) 07:59:41.19
内緒で妻のパソコンでインターネットして
ヌードとかHな写真を見まくっていたのですが、なんと
bネにかの表紙に血ゥていたエロ画荘怩ェパソコンの血繧に
表示されたままになって元に戻せません!
前はプーさんの画像だったのに、今はアソコにバイブを挿した豊丸の画像です・・・。。
再起動しても表示されたままなんです。
早く直さないと妻が夜勤から帰ってきてしまします!(看護婦なので・・・・)
至急助けてください!!!
OSはウィンドウズXPです。
よろしくお願いします。
ヌードとかHな写真を見まくっていたのですが、なんと
bネにかの表紙に血ゥていたエロ画荘怩ェパソコンの血繧に
表示されたままになって元に戻せません!
前はプーさんの画像だったのに、今はアソコにバイブを挿した豊丸の画像です・・・。。
再起動しても表示されたままなんです。
早く直さないと妻が夜勤から帰ってきてしまします!(看護婦なので・・・・)
至急助けてください!!!
OSはウィンドウズXPです。
よろしくお願いします。
2017/07/31(月) 08:49:19.54
>>236
金属バットでPCフルスイングすれば?
金属バットでPCフルスイングすれば?
2017/07/31(月) 08:51:37.14
ここに到達する知識があるならgoogleで検索すれば見つかるだろうに
2017/07/31(月) 08:57:00.00
>>235
再現する方法を模索するのではなく、再起動せずに切り分けすればいいだけでは?
tty でログインできなかったって点からすると、/usr/bin/sh を差し替えた後に再起動せずに
su - 一般ユーザ名 でテストするのが一番手っ取り早そう。
display-manager(gdmや同等のソフト) を停止した状態で tty でログイン(安全をみて tty1 と
tty2 など複数個所でログイン済にしておく)、 /usr/bin/sh を差し替えて再起動せずに
display-manager を起動してログインテストすればいいんじゃないでしょうか。
再現する方法を模索するのではなく、再起動せずに切り分けすればいいだけでは?
tty でログインできなかったって点からすると、/usr/bin/sh を差し替えた後に再起動せずに
su - 一般ユーザ名 でテストするのが一番手っ取り早そう。
display-manager(gdmや同等のソフト) を停止した状態で tty でログイン(安全をみて tty1 と
tty2 など複数個所でログイン済にしておく)、 /usr/bin/sh を差し替えて再起動せずに
display-manager を起動してログインテストすればいいんじゃないでしょうか。
2017/07/31(月) 09:07:15.67
>>236
これは履歴とかキャッシュ消せないだろうからどうせバレる
これは履歴とかキャッシュ消せないだろうからどうせバレる
2017/07/31(月) 09:10:25.45
>>235
Linux板へ
Linux板へ
2017/07/31(月) 09:10:52.08
>>236
懐かしコピペだな
懐かしコピペだな
2017/07/31(月) 11:49:07.69
2017/07/31(月) 11:54:40.49
2017/07/31(月) 15:19:17.23
2017/07/31(月) 16:15:55.29
/bin/shを差し替えるなんてFedora側で想定した使い方じゃないんだから
そもそもそんなことやっちゃいけない
そもそもそんなことやっちゃいけない
2017/08/01(火) 02:25:49.77
2017/08/01(火) 02:59:57.01
>>247
autoconfのconfigureで5-10%速いくらい
https://lists.fedoraproject.org/pipermail/devel/2014-October/202891.html
SysVinitの昔ならともかくsystemdの今では関係ないだろうけどね
autoconfのconfigureで5-10%速いくらい
https://lists.fedoraproject.org/pipermail/devel/2014-October/202891.html
SysVinitの昔ならともかくsystemdの今では関係ないだろうけどね
2017/08/01(火) 03:05:36.12
>>247
chshだけでもしとけば
chshだけでもしとけば
2017/08/01(火) 08:24:31.41
>>247
4倍速いなんて誰が言ってたの
4倍速いなんて誰が言ってたの
2017/08/01(火) 09:51:33.66
/bin/sh置き換えるとか奇形児かよ
2017/08/01(火) 10:19:55.09
configureで5-10%速いなら4倍どころじゃないだろうな
2017/08/02(水) 20:07:41.14
>>251
debianはそういうとこあるぞ
debianはそういうとこあるぞ
2017/08/03(木) 07:34:52.42
あれは必死に直した結果達成したもので、同じような努力をそのdistroで
やらないとできない
そういやFreeBSDも昔base systemからperl排除するという大きな仕事を
やってたなあ
やらないとできない
そういやFreeBSDも昔base systemからperl排除するという大きな仕事を
やってたなあ
2017/08/03(木) 09:32:35.46
で、「4倍速い」のソースどこよ
2017/08/03(木) 09:35:10.81
俺
2017/08/03(木) 21:23:18.47
シャア専用シェル
2017/08/04(金) 03:14:55.27
シェルから特定のプログラムの標準入力にデータを流すにはどうしたらいいでしょうか。
何がしたいかというと、
stdinからのデータを処理するIPCで、サーバーサイドのプログラムに
シェル側からstdinに流してレスポンスがちゃんとできているかをチェックしたいのです。
サーバープログラムは stdin をistreamで処理するように組んでおり、
stdinで入ってくるデータはEOFで一区切りとし、EOFを検出後に
EOFフラグをクリアして、再度stdinにデータが流れてくるまでブロッキングするというループになっています。
本来はクライアントサイドからstdinへデータを流しますが、
サーバーサイドだけで簡単にチェックするために、
サーバーサイドはmy-server.elfとし、
$ ./my-server.elf
で起動状態にしておきます。
ここに対して、
コマンドライン上から テキストデータ+EOFを何度か送る方法はないでしょうか?
cat hoge | ./my-server.elf
とかだと、1回しかテストできないので、どうしたらいいでしょうか。
my-server.elfのプロセスIDはわかるので、そこに対してデータを送る方法があれば教えてください。
何がしたいかというと、
stdinからのデータを処理するIPCで、サーバーサイドのプログラムに
シェル側からstdinに流してレスポンスがちゃんとできているかをチェックしたいのです。
サーバープログラムは stdin をistreamで処理するように組んでおり、
stdinで入ってくるデータはEOFで一区切りとし、EOFを検出後に
EOFフラグをクリアして、再度stdinにデータが流れてくるまでブロッキングするというループになっています。
本来はクライアントサイドからstdinへデータを流しますが、
サーバーサイドだけで簡単にチェックするために、
サーバーサイドはmy-server.elfとし、
$ ./my-server.elf
で起動状態にしておきます。
ここに対して、
コマンドライン上から テキストデータ+EOFを何度か送る方法はないでしょうか?
cat hoge | ./my-server.elf
とかだと、1回しかテストできないので、どうしたらいいでしょうか。
my-server.elfのプロセスIDはわかるので、そこに対してデータを送る方法があれば教えてください。
2017/08/04(金) 04:14:32.69
移植性がよくわからないけど
cat hoge > /proc/<pid of server>/fd/1
cat hoge > /proc/<pid of server>/fd/1
2017/08/04(金) 08:14:54.70
EOFってクリアできるものなの? よくわからんが
$ mkfifo /tmp/foo
$ exec < /tmp/foo
$ exec ./my-server.elf
で cat hoge > /tmp/foo とかどうよ
$ mkfifo /tmp/foo
$ exec < /tmp/foo
$ exec ./my-server.elf
で cat hoge > /tmp/foo とかどうよ
2017/08/04(金) 13:23:10.99
2017/08/06(日) 01:34:21.08
>>258
> コマンドライン上から テキストデータ+EOFを何度か送る方法はないでしょうか?
テキストデータにEOF(^D)を入力するとか
^DはCtrl+V、Ctrl+D
https://en.wikipedia.org/wiki/End-of-Transmission_character
> コマンドライン上から テキストデータ+EOFを何度か送る方法はないでしょうか?
テキストデータにEOF(^D)を入力するとか
^DはCtrl+V、Ctrl+D
https://en.wikipedia.org/wiki/End-of-Transmission_character
263名無しさん@お腹いっぱい。
2017/08/09(水) 11:18:15.17 1<br>2<br>3<br>4<br>
を
1
2
3
4
にシェルで置き換えるコマンド教えれ
今viで開いて置き換えてます・・・
を
1
2
3
4
にシェルで置き換えるコマンド教えれ
今viで開いて置き換えてます・・・
2017/08/09(水) 11:21:03.77
>>263
sed
sed
2017/08/09(水) 11:22:28.73
sed でもなんでもいいじゃん
2017/08/09(水) 13:07:15.54
あえてヘッドレスブラウザを使ってみよう
2017/08/09(水) 13:07:21.78
echo '1<br>2<br>3<br>4<br>' | tr '<>' '\n\n' | fgrep -v br
2017/08/09(水) 14:41:10.39
ありがとうございます
sedで出来ました
というか所定の文字列(今回は<br>)を改行に置き換えることと
改行を所定の文字列に置き換えることを混同していました
たしか後者はsedなどでできずperlとかでやった覚えがあります
まったくもって私の勘違いでした・・・
sedで出来ました
というか所定の文字列(今回は<br>)を改行に置き換えることと
改行を所定の文字列に置き換えることを混同していました
たしか後者はsedなどでできずperlとかでやった覚えがあります
まったくもって私の勘違いでした・・・
2017/08/09(水) 14:49:33.52
unhtmlだと改行入らないっけ
|w3m -dump
|w3m -dump
2017/08/13(日) 15:47:35.48
macのファイル名に使われるエンコーディングてutf-16だったんだね
てっきり、utf-8だと思ってた
http://tama-san.com/hfsplus/
んで、次のOSでは非正規化になるみたい
https://developer.apple.com/library/content/documentation/FileManagement/Conceptual/APFS_Guide/FAQ/FAQ.html
これで少し楽になれそう
てっきり、utf-8だと思ってた
http://tama-san.com/hfsplus/
んで、次のOSでは非正規化になるみたい
https://developer.apple.com/library/content/documentation/FileManagement/Conceptual/APFS_Guide/FAQ/FAQ.html
これで少し楽になれそう
2017/08/13(日) 15:56:24.85
内部表現はutf-16
ターミナルで扱うときはutf-8
ターミナルで扱うときはutf-8
2017/08/13(日) 18:10:53.30
知らなかった
ありがとう
ありがとう
2017/08/20(日) 22:32:53.01
シェルスクリプト とはほとんど関係ないんだけど,X 使ってる時,ターミナルエミュレータに ファイルマネージャの「ファイル」や「フォルダ」を D&D したらその絶対パスが入力されるんだな。
これ今迄知らずに手入力してた。
これ今迄知らずに手入力してた。
2017/08/20(日) 22:38:57.86
なんかしらんけど、本当だ(´・ω・`)
2017/08/20(日) 22:39:12.28
これどういう原理なんだろ
2017/08/20(日) 23:03:34.71
X 使ってないから分からんが、Windows でエクスプローラからコマンドプロンプトにドラッグ&ドロップするとファイルパスが入力されるのと同じ機能かな。
意外と知らない人もいるみたいだけど、便利だよね。
意外と知らない人もいるみたいだけど、便利だよね。
277名無しさん@お腹いっぱい。
2017/08/21(月) 01:53:29.93 でもXってマウスすべるよな
2017/08/21(月) 08:54:21.72
Windows でも確認できた。へー,結構便利だな。
2017/08/21(月) 10:52:29.07
なぜ関係ない話をここでやるの
2017/08/21(月) 17:33:16.40
じゃあ関係ある話提供してください。
2017/08/21(月) 17:38:48.75
どうでもいいけどそれずっとsakuraエディタ使ってやってたわ
エディタ上にファイルペーストすると絶対パスに変換される
エディタ上にファイルペーストすると絶対パスに変換される
2017/08/21(月) 18:31:57.12
どうでもいいなら書き込むな
2017/08/21(月) 19:04:04.21
じゃあどうでもよくない話提供してください。
2017/08/21(月) 19:13:51.68
DEの機能じゃないの
ファイルマネージャー使わないが
ファイルマネージャー使わないが
2017/08/22(火) 09:14:59.98
Terminology「ガタッ(呼ばれたか)」
2017/08/22(火) 13:27:24.37
Terminology って何がすごいの? 画像の表示なら xterm ですら可能なのに。
2017/08/22(火) 18:53:12.44
lsとかした後ターミナル内でのD&Dとかの変態操作
動画再生と動画壁紙の無駄機能
すごくはない
動画再生と動画壁紙の無駄機能
すごくはない
288286
2017/08/23(水) 03:10:27.50 ターミナル内で D&D できんのか。そりゃすげえ。
2017/08/29(火) 10:07:33.36
unix プログラミング環境という本の問題でpickというプログラムを作ったんだ。
引数ごとに出力するかを対話して、"y"が押されたものだけ出力するという単純なもの。
---
$ pick a b
a? y
a
b? n
$
---
問題ではさらに、「引数が無かった時は標準入力を読みに行くようにせよ」と続く。
まあ、パイプで挟まれたりしても問題なく使えるようにしろってことなんだと思う。
で、以下の様に書いて、問題なく動いたんだけど、
あまりシェル書いたことないもので・・・変な書き方してないかとかコメント頼みます。
---
exec 10<&0 11>&1 0<&2 1>&2
input='echo "$@"'
if [ $# -eq 0 ] ; then
input='cat <&10'
fi
for i in `eval $input`
do
echo -n "$i ? "
read response
case $response in
y*) echo $i >&11 ;;
esac
done
---
引数ごとに出力するかを対話して、"y"が押されたものだけ出力するという単純なもの。
---
$ pick a b
a? y
a
b? n
$
---
問題ではさらに、「引数が無かった時は標準入力を読みに行くようにせよ」と続く。
まあ、パイプで挟まれたりしても問題なく使えるようにしろってことなんだと思う。
で、以下の様に書いて、問題なく動いたんだけど、
あまりシェル書いたことないもので・・・変な書き方してないかとかコメント頼みます。
---
exec 10<&0 11>&1 0<&2 1>&2
input='echo "$@"'
if [ $# -eq 0 ] ; then
input='cat <&10'
fi
for i in `eval $input`
do
echo -n "$i ? "
read response
case $response in
y*) echo $i >&11 ;;
esac
done
---
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 働いて働いて働いても生活は…円安に歯止めが掛からず生活は苦しくなるばかり…サナエノミクスの限界で「高市不況」がやってくる ★5 [ぐれ★]
- 日中対立、打開策見えず 高市氏答弁1カ月、影響拡大 [蚤の市★]
- 元グラドル維新議員 夫に「サンドイッチのパン」を依頼→食パン6枚切り買われ怒り…“どちらが悪い?”SNSで議論 ★3 [muffin★]
- 中国空母、太平洋で訓練……日本・防衛省発表 [少考さん★]
- 2026年はゲーム機やPC、スマホが一斉値上げか メモリ大手ブランド「Crucial」廃止の衝撃 [樽悶★]
- 【香川】親族が釣ってきたフグを調理して食べた50代女性、痺れや吐き気で救急搬送 [シャチ★]
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1820
- 2025/2026 Formula E Lap.1
- 競輪実況★1621
- とらせんIP ★3
- こいせん 全レス転載禁止
- ハム専 サヨナラ石井
- 国民・玉木雄一郎「日本は台湾を国家として正式に承認していないため、台湾への攻撃だけでは存立危機事態にはなりません」と世界に発信 [594040874]
- 脳みそ🧠スッカスカバカ無職集会所🏡
- 日本人が戦争したがってる中国、ガチで強い模様…なぜ日本人は強気なの? [819729701]
- 息子の名前を「静寂(しじま)」にしようとしてるw
- 結局焼肉で1番上手い部位どこ?
- 「ファイナルファンタジー」の売上、なぜかFF10を境に激減してしまう、理由は不明 [445831457]
