利用者:Lllqqq000/テキスト処理
表示
テーブルを作る
[編集]空白区切りのテキストを読み込んでtableを作る。(awkを使用)
BEGIN { printf "{| class=\"sortable wikitable\"\n"; } { for (i = 1; i <= NF; i++) { if (NR == 1) { if (i == 1) printf "!" $i; else printf "!!" $i; } else { if (i == 1) { printf "|-\n"; printf "!" $i "\n"; } else if (i == 2) printf "|" $i; else printf "||" $i; } } printf "\n"; } END { printf "|}\n"; }
タグを取る
[編集]超簡易ですがこれで十分。<x ... title=">">なんてのは扱いません。
sed 's/<[^>]\+>//g'
リンクされている言葉をとりだす
[編集](<a href=">>>"> あ </a> のようなものは無視)
awk 'match ($0, /<a [^>]*>([^<]*)<\/a>/, word){print word[1]}' test.txt
*の箇条書きのソースを改行区切りのリストに
[編集]あるカテゴリに属する記事一覧をコピーしてリストを整理するとき使います。
awk 'match ($0, /\* (.*)/, word) {print word[1]}' test.txt
このままウォッチリストに追加できます。
*の箇条書きのソースを改行区切りのリストに
[編集]awk 'match ($0, /\* (.*)/, word) {printf "[["word[1]"]]{{!wrap}}"}' test.txt
テンプレート作るときよく利用します。
共通した行を抜き出す
[編集]1.txt と 2.txt はソートされたファイルであるとします。
comm -12 1.txt 2.txt
現在の検索では"[[Category:○○]] [[Category:☆☆]]"で検索しても思った結果がでないので一覧を作って共通部分を抜き出しました。
第n番目のフィールドでソート
[編集]sort +n
小文字を大文字に
[編集]tr [a-z] [A-Z]
最後の行から最初の行の順番で表示する
[編集]tac
または
perl -e '{print reverse <>}'
つなげる
[編集]join や paste