私は最初にawkに触れましたが、これを行うためにawkスクリプトを書くことができるかどうかわかりません。
ソートする必要があるデータファイルは何百ものあります。それぞれに次の行を使用します。
awk 'ORS=NR%3?" ":"\n" ' file1.tex > file1_sorted.tex
awk 'ORS=NR%3?" ":"\n" ' file2.tex > file2_sorted.tex
...
必要な結果を得る。しかし、私はこのタスクを自動的に実行し、各ファイルをインポートし、タスクを適用し、対応するソートされたファイルを作成するスクリプトを持ちたいと思います。
ご協力ありがとうございます!
ベストアンサー1
forループに次のファイルを適用できます。
for file in *.tex;
do
awk 'ORS=NR%3?" ":"\n"' "$file" > "$(basename "$file")_sorted.tex"
done
または1行で:
for file in *.tex; do awk 'ORS=NR%3?" ":"\n"' $file > "$(basename "$file" .tex)_sorted.tex"; done
どのシェルも指定していないので、シェル固有の構文をbasename
使用するのではなく、より標準的なシェルを使用してください${file%%.tex}
。