結果を伝えたいです。sed コマンドファイルの各行の一部のみを読みたい場合は、変数に追加します。たとえば、「fic1.txt」という入力ファイルの内容は次のとおりです。
-->猫小説1.txt:
/data/test/AAAA1.txt: text/plain; charset=us-ascii
/data/test/AAAA2.txt: text/plain; charset=us-ascii
/data/test/AAAA3.txt: text/plain; charset=us-ascii
/data/test/BBBB1.txt: text/plain; charset=iso-8859-1
/data/test/BBBB2.txt: text/plain; charset=iso-8859-1
/data/test/BBBB3.txt: text/plain; charset=iso-8859-1
/data/test/BBBB4.txt: text/plain; charset=iso-8859-1
/data/test/CCCC1.txt: text/plain; charset=iso-8859-1
/data/test/CCCC2.txt: text/plain; charset=unknown-8bit
だから私は使いたいsed は結果を変数に渡します。、例えば:
->出力結果1:
us-ascii
us-ascii
us-ascii
iso-8859-1
iso-8859-1
iso-8859-1
iso-8859-1
iso-8859-1
unknown-8bit
->出力結果2:
/data/test/AAAA1.txt
/data/test/AAAA2.txt
/data/test/AAAA3.txt
/data/test/BBBB1.txt
/data/test/BBBB2.txt
/data/test/BBBB3.txt
/data/test/BBBB4.txt
/data/test/CCCC1.txt
/data/test/CCCC2.txt
最初の出力では、次のsedコマンドを使用しました。
var_type_fic=`cat fic1.txt |sed -r 's/.*charset=([^ ]+).*/\1/'|sort`
for fic in $var_type_fic; do
echo "$fic"
done
しかし、2番目のケースでは、よく一致する正規表現の一致が見つかりません。誰でも助けることができますか?
ベストアンサー1
間違ったツールを使用しています。読むman cut
、
cut -d= -f2 fic1.txt
cut '-d:' -f1 fic1.txt
それは簡単です。