bashスクリプトがあります。このコマンドを実行すると:
- 特定のパターンのgrep、
- 変換出力、
- 出力ソート
- 出力重複排除
その後、端末で1行あたりのgrep検索を取得します。
LC_ALL=C grep -o --color -h -E -C 0 -r "$pattern" /pathto/Pre_N/ | tr -d '[:digit:]' | sort | uniq
ただし、出力変数に入れるとフォーマットが失われます(ファイルにエコーされるか画面にエコーされる場合)。
#!/usr/bin/env bash
output=$(LC_ALL=C grep -o --color -h -E -C 0 -r "$pattern" /pathto/Pre_N/ | tr -d '[:digit:]' | sort | uniq)
echo $output > $fn
コマンド出力を変数に保存した後、コマンド出力形式をどのように保存できますか?
答え1
引用符を使用する:
echo "$output" > $fn
エコー行は(変数拡張後)シェルによって解析され、引数間のすべての空白文字は単純な空白に縮小されます。たとえば、
$ var1="toto
> titi
> tutu
> "
$ echo $var1
toto titi tutu
$ echo "$var1"
toto
titi
tutu