私はプレーンテキスト形式のUnixデータベースを作成するためにGNU Recutilsを使用しています。次のスクリプトを使用すると、選択したカテゴリの書籍のリストを取得できます。
recsel -t book -e "Category='$1'" "$RECFILE" | recfmt -f bycat.templ
出力は次のとおりです。
1: Book title
2: Book title
55: Book title
128: Book title
ファイルにはbycat.templ
次の内容が含まれています。
{{Id}}: {{Title}} (read: {{Read}})
ドキュメントによると、ファイルの正しい並べ替えを定義することは不可能なようです。手動。
printf
だから私は各行に対して、awk
またはxargs
bucleを使ってUnixソリューションを見つけようとしました。for
私はこれを達成する方法がわからない。
希望の出力:
1: Book title
2: Book title
55: Book title
128: Book title
ベストアンサー1
あなたのため:
文書:book.awk
BEGIN {
FS = ":"
}
{
id = $1
$1 = ""
sub(/^ +/, "", $0)
printf("%3d: %s\n", id, $0)
}
実装する:
recsel ... | recfmt ... | awk -f book.awk
出力:
1: Book title
2: Book title
55: Book title
128: Book title