bash - 端末にエコプリント

bash - 端末にエコプリント

私はbashスクリプトに慣れていないので、とても簡単だと思います。 URLを実行し、curl特定のIDを使用して出力を解析し、grepそれをテキストファイルに追加するスクリプトを作成しました。テキストファイルに追加すると、IDはスペースで区切られます。

#!/bin/bash

IDS=$(curl -v --silent "http://example.com" 2>&1 | grep -Eo 'data-user_id="[0-9]+"' | grep -Eo "[0-9]+")

echo ${IDS} >> "ids"
sed 's/ /\n/g' "ids"

ところで、実行してみるとファイルの出力が端末に書き込まれることがわかりますが、最後の行( sed)を削除すると出力が消えます。以前使ってみましたが、tr同じ現象がありました。これが起こらないようにするにはどうすればよいですか?

ベストアンサー1

sed指定した代替コンテンツを使用してファイルが印刷されています。

より良いアイデアは次のとおりです。

#!/bin/bash

IDS=$(curl -v --silent "http://example.com" 2>&1 | grep -Eo 'data-user_id="[0-9]+"' | grep -Eo "[0-9]+")

echo "$IDS" | tr ' ' '\n' >> "ids"

$IDSファイルに追加する前に、改行翻訳にスペースをエコーし​​て適用します。

おすすめ記事