[過去ログ] シェルスクリプト総合 その27 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
156(1): 名無しさん@お腹いっぱい。 [] 2018/05/30(水) 20:03:13.31 AAS
sedコマンドでSGRを扱いたいんですがどうすればいいですか。
$ echo abc | sed 's/^a/\033[1m&\033[0m/1'
などとしてaを太字にしたりしたいです。
248(3): 名無しさん@お腹いっぱい。 [sage] 2018/06/07(木) 02:03:34.31 AAS
>>212212(3): 名無しさん@お腹いっぱい。 [sage] 2018/06/06(水) 09:02:34.23 AAS
aaa=(888 犬 `date +"%Y%m%d"010000 -d last-sunday`)
bbb=(777 猫 `date +"%Y%m%d"150000 -d last-Saturday`)
ccc=(666 鳥 `date +"%Y%m%d"000000 -d last-friday`)
for hoge in "$aaa" "$bbb" "$ccc"
do
if [ -e ~/${hoge[1]}_${hoge[2]:0:4}_${hoge[2]:4:2}_${hoge[2]:6:2}.mp4 ]; then
exit 0
else
ffmpeg -i ~/output/${hoge[2]}-${hoge[0]}.aac ~/${hoge[1]}_${hoge[2]:0:4}_${hoge[2]:4:2}_${hoge[2]:6:2}.mp4
fi
done
こんな感じのスクリプト書いたのですが、配列が展開してくれません。
どうすれば変数に入れた配列が機能するでしょうか
アドバイスお願いします。
for hoge in "$aaa" "$bbb" "$ccc"
"$aaa" "$bbb" "$ccc"は、最初のアイテムを示すだけ(888, 777, 666)で間違い
"${aaa[@]"が正しいもしくはとしたかったのだろうが、だったらforの機能的にも変数をArrayにする必要はないだろう。その記述以下でなんかするのでないなら
aaa/bbb/cccは単なる文字列として、for内で必要となったらArrayに分解すれば簡単に目的は達成するだろう
(てか、配列にするならaaa/bbb/cccなんて個々の変数じゃなくてそれこそそれを配列にすればいいのにと思うけど)
aaa="888 犬 `date +"%Y%m%d"010000 -d last-sunday`"
...
for fuga in "$aaa" "$bbb" "$ccc"
do
hoge=$($fuga)
if [ -e ~/${hoge[1]}_${hoge[2]:0:4}_${hoge[2]:4:2}_${hoge[2]:6:2}.mp4 ]; then
...
249(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/07(木) 02:12:29.31 AAS
>>247247(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/07(木) 01:01:10.78 AAS
>>238
a=1
echo $((a + 1))
この場合の$aは数値じゃないんですか?
必要となったら数値とみなす/数値に変換するだけだろう
a=hoge
の場合は、hogeは数値に変換できないからしょうがないので0にしてまうし、
[ a -eq 0 ]
なんて場合は、数値に変換できないのでエラーになるし。逆にa=1とかでエラーにならないのは数値だからと思えそうだが、単に数値に変換できてエラーにならないだけだろう
あくまでも文字列でしかないのは、
a=1
a="1"
a='1'
のどれも同じってとこからもそう推察できそうな。そもそも明らかな文字列でさえa=hogeだったりするけど
357(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/10(日) 16:16:58.31 AAS
>>352,354352(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/10(日) 16:12:08.78 AAS
>>347
> だったらお前がそのわけわからんCVS形式でない答えを応えれtばええんちゃんですかね
データの中に改行コードがあるってだけで、
フォーマットは最初から指定してないよ?
その場合どういうやり方があるでしょうって話なんだが、
CSVだと思いこんで効率の悪い方法しか思いつかず
指摘したら逆ギレするのやめなよ?ダサいから
354(1): 名無しさん@お腹いっぱい。 [sage] 2018/06/10(日) 16:13:10.06 AAS
>>351
なにが言いたいのかわからんが、RFCのCSVの仕様に改行コードを
エスケープするという仕様はない。ダブルクォートでくくればいいだけ
...はあ...
マジで言ってるの?
374: 名無しさん@お腹いっぱい。 [sage] 2018/06/10(日) 16:39:21.31 AAS
1データの中に改行が含まれてる
そのままだとデータ区切りの改行と見分けがつかない
CSV形式の話はしていない
\nにエスケープする方法では、1データずつ処理しなければならず
外部コマンド呼び出しの必要があるから遅い
ここまでは理解できてんのかなー?
505: 名無しさん@お腹いっぱい。 [sage] 2018/06/11(月) 15:25:33.31 AAS
もういい加減コードで語れ
どれほど偉そうにしてもコードがアレだったらアレだし、偉そうにしてなくても素晴らしいコードはそれだけで尊敬されるだろう。後者が断然かっこいいのに
611: 名無しさん@お腹いっぱい。 [sage] 2018/06/14(木) 21:25:25.31 AAS
macOSだが再現しないなあ
709: 名無しさん@お腹いっぱい。 [sage] 2018/06/19(火) 05:16:14.31 AAS
つづりeraseやで
810: 名無しさん@お腹いっぱい。 [sage] 2018/07/02(月) 15:31:13.31 AAS
何を乾燥させたいのかしばらく悩んだ
872(1): 名無しさん@お腹いっぱい。 [sage] 2018/07/07(土) 23:47:30.31 AAS
皆さんお答えありがとうございます。
出来るけど面倒だという感じですね。
PHP使いたいけど仕様上ダメみたいなんですよね。。。
後にメンテナンスが面倒くさそう
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.122s