[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2ch.scのread.cgiへ]
Update time : 01/12 09:15 / Filesize : 284 KB / Number-of Response : 907
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2018/09/22(土) 11:53:21.38 ID:BBiLRgnj0.net]
!extend:on:vvvvv:1000:512
!extend:on:vvvvv:1000:512
シェルスクリプトに関する総合スレッドです。

スレ立て時は以下の文を先頭行に加えて下さい。
後のつけ忘れ防止の為に複数行重ねて追加推奨
!extend:on:vvvvv:1000:512

全般
・荒しは無視しましょう。
・丁寧な姿勢を心掛けましょう。
・ネチケット(死語)を意識しましょう。

前スレ
シェルスクリプト総合 その28
mevius.5ch.net/test/read.cgi/tech/1532397676/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured

874 名前:デフォルトの名無しさん mailto:sage [2018/12/30(日) 11:01:57.94 ID:/wKH6dhf0.net]
>>869
#!/bin/sh
t="2018-12-30T08:36:50+09:00"
IFS="-T:+"
set -- $t
echo $1 $2 $3 $4 $5 $6 + $7 $8

875 名前:デフォルトの名無しさん mailto:sage [2018/12/30(日) 11:08:31.89 ID:MMB+AHvh0.net]
タイムゾーンはマイナスありか

876 名前:デフォルトの名無しさん mailto:sage [2018/12/30(日) 11:25:42.74 ID:MMB+AHvh0.net]
sed 's/-/ /;s/-/ /;s/\([+-]\)/ \1 /;s/[:T]/ /g'
なんか泥臭いけど

877 名前:デフォルトの名無しさん mailto:sage [2018/12/30(日) 11:28:51.37 ID:/wKH6dhf0.net]
#!/bin/sh
t="2018-12-30T08:36:50+09:00"
IFS="-T:+"
set -- $t
case ${t%?????} in
*+) echo $1 $2 $3 $4 $5 $6 + $7 $8 ;;
*-) echo $1 $2 $3 $4 $5 $6 - $7 $8 ;;
esac

878 名前:デフォルトの名無しさん mailto:sage [2018/12/30(日) 11:32:49.36 ID:/wKH6dhf0.net]
date -d "2018-12-30T08:36:50-09:00" "+%Y 略" (飽きた)

879 名前:デフォルトの名無しさん mailto:sage [2018/12/30(日) 11:48:16.88 ID:btIksil/0.net]
>>874
それだとアメリカとかのタイムゾーン-03:00に対応できなくね?

880 名前:879 mailto:sage [2018/12/30(日) 11:49:02.96 ID:btIksil/0.net]
>>877
すまん。ちゃんと対応してくれてた。

881 名前:デフォルトの名無しさん mailto:sage [2018/12/30(日) 16:00:37.71 ID:yEx+bcWd0.net]
GNU grep の場合

$ echo '2018-12-30T08:36:50+09:00' | grep -Po '([0-9]{2,4}|(?<=:[0-9]{2})(\+|-))' | xargs

882 名前:デフォルトの名無しさん mailto:sage [2018/12/30(日) 16:49:11.50 ID:btIksil/0.net]
>>881
すげー。
でも後から自分でデバッグできなさそうなのでやめておくw



883 名前:デフォルトの名無しさん mailto:sage [2018/12/30(日) 18:51:33.10 ID:iF2NHAVN0.net]
t="2018-12-30T08:36:50+09:00"
echo "${t:0:4} ${t:5:2} ${t:8:2} ${t:11:2} ${t:14:2} ${t:17:2} ${t:19:1} ${t:20:2} ${t:23:2}"

884 名前:デフォルトの名無しさん mailto:sage [2019/01/01(火) 13:16:40.82 ID:0CXB5czV0.net]
:digit:より0-9のほうが打件数少ないのはなんなんだ

885 名前:デフォルトの名無しさん mailto:sage [2019/01/01(火) 13:57:25.01 ID:WRhsD0vEa.net]
単に意味を優先した表現方法があるだけやろ

886 名前:デフォルトの名無しさん mailto:sage [2019/01/05(土) 11:12:13.83 ID:dE0KuiGH0.net]
本当に一部のシステムでの話だけど
[:digit:]がロケールの数値表現にも合致する場合がある
「1」とか。

887 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 14:59:50.50 ID:01rSRjtda.net]
test.txtの内容が
hoge
fuga
puge

で、
sed -i -e s/hoge\n// test.txt
とやったのに『hoge(改行コード)』が消えてくれないたすけて
test.txtの一行目を削除 → 2行目が一行目に、
みたいにトコロテンしたい

888 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 15:08:57.37 ID:01rSRjtda.net]
自己解決・・・
sed -i -e ':a;N;$!ba;s/hoge\n//' test.txt
ってやったらできました・・何この呪文。。

889 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 15:30:19.88 ID:RynyI9pj0.net]
sed -i -e '/hoge/d' test.txt じゃダメなん?

890 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 15:36:38.32 ID:01rSRjtda.net]
>>889
で、できました
それ使っていきます ありがとうございました

891 名前:デフォルトの名無しさん [2019/01/07(月) 19:03:53.04 ID:fnTlHl64a.net]
grep -v もよろしく

892 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 19:52:44.45 ID:fRqqYmWxa.net]
一行目を消したいのかhogeを消したいのか



893 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 19:54:56.69 ID:52D4hsE60.net]
全部消したい。何もかも

894 名前:デフォルトの名無しさん mailto:sage [2019/01/07(月) 20:31:04.88 ID:Opohu4pM0.net]
要らない
何も
消してしまおう

895 名前:デフォルトの名無しさん [2019/01/08(火) 09:33:22.38 ID:LJT6VvGba.net]
そんなあなたに rm

896 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 04:57:31.17 ID:yVo/NDAD0.net]
ネットワーク通信(特にhttpクライアント)に関するコマンドって
大きくwgetとcurlとfetchなんかがあるけどもみんなはなに使ってます?
大抵のLinuxにはwgetが、MacとWindowsにはcurlが初期搭載されてるので
そのどっちかだとは思う。

897 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 09:31:04.31 ID:d7ZwxpvN0.net]
スクリプトの場合はオプションが面倒くさくいのは関係ないから
個人的には自由度の高いcurl一択かな

直接コマンド打ってダウンロードするときはaria2cを使ったりする

898 名前:デフォルトの名無しさん [2019/01/10(木) 10:00:22.11 ID:jQehovm3a.net]
昔から使ったていたというだけの理由で wget

899 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 11:40:29.86 ID:DS8wsvUQ0.net]
wgetが入っていればwget、curlが入っていればcurl
両方入っているなら、ファイルにしたいときはwget、出力結果を見たいときはcurl

900 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 16:56:41.32 ID:jhx89QXs0.net]
PowerShell では、Invoke-WebRequest のalias が、curl, wget

get-alias (gal) で表示できる

901 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 18:31:34.76 ID:yVo/NDAD0.net]
>>900
え、それつまり
$ curl ...
としたときのオプションは実はcurlのじゃなくて
Invoke-WebRequestに向けたオプションってこと?
そんなに互換性があるオプション体系だとは思わないのだけど
なぜエイリアスにしてあるんだろう……。

902 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 20:31:11.75 ID:UUY7OixDM.net]
呼ばれたときの名前によって処理を切り替えてるんじゃないの?知らんけど



903 名前:デフォルトの名無しさん mailto:sage [2019/01/10(木) 22:34:40.34 ID:qJAnpZ0RM.net]
cURL以外使わん

904 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 03:35:07.12 ID:tAdCcMWb0.net]
bashで「=」という文字をコマンドにすることってできますかね。
「=」を「bc -l <<<」に割り当てて
$ = '4 / 5.1'
みたいな簡易電卓として使いたいなと思ったんだけど
alias =='bc -l <<<'やfunction = { bc -l <<< "$1" }はダメ……。
一応GNU Bashの「コマンドに使っていい文字」ではあるんだけど、使えない

905 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 05:36:31.36 ID:YPYEBq870.net]
=というファイル名のシェルスクリプト書いたら?
bashもいらんし

#!/bin/sh
echo "$@" | bc -l

906 名前:デフォルトの名無しさん mailto:sage [2019/01/11(金) 08:51:55.60 ID:EZ88NWNa0.net]
function = { bc -l <<< "$1"; } ってすればできる(セミコロンが必要)






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<284KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef