ファイルの読み取りや書き込みを行わずに、bash スクリプトで文字列を指定して sed を使用したいと考えています。私は周りをグーグルで検索しましたが、何も見つかりませんでした
具体的には、次のようなことを行って、特定のディレクトリ内のファイルの数を取得しようとしています:
RAW=$(ls $DIRNAME | wc)
# RAW --> ? sed ? --> answer
ではありませんsed
が、この問題には適しています。
ls | wc -l
通常、sed
文字列を入力として受け取ります。例えば、
ls | sed 's/\./Period replaced by sed/g'
wc を使用し、名前に改行が含まれるファイルがある場合にも機能するソリューション:
find . -maxdepth 1 -mindepth 1 -print0 | tr -dc '\0' | wc -c
answer=$(echo $RAW|sed <YOURSTUFF>)
あなたは書ける:
ls -1R | wc -l
カウントを変数に格納するには、次のように記述できます。
#!/bin/sh
total=`ls -1R | wc -l` # stores the count in $total
echo $total # prints the count