0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

簡単なテキスト処理やファイル操作の問題と解法(自分用メモ)

Last updated at Posted at 2018-07-21

はじめに

テキスト処理やファイル操作の問題と解法に関する自分用のメモです。
ご参考になれば幸いです。

問題と解法の例

  • 問題1:連番のファイルの中から、抜けている番号を探す。
ls -v "file_*.json" | sed 's/^file_//' | sed 's/\.json$//' | awk '$1!=p+1{print p+1"-"$1-1}{p=$1}'

ls -vで番号順にファイルを表示した後、sedで数字以外を削除して、awkで数字の抜けを探しています。Finding gaps sequential numbersを参考にしました。

  • 問題2:行番号のついたcsvファイルから特定の行番号を含む行のみを取り出す。
for number in $(cat row_numbers.txt); do cat input_file.csv | grep "^"$number"," >> output.csv ; done

ここでは
input_file.csv:行番号を含むcsvファイル
row_numbers.txt:取り出したい行番号を含むファイル
output_file.csv:取り出した結果を出力するファイル
としました。

  • 問題3:あるキーワードを含むファイルを複数個まとめてあるディレクトリに移動
find . -name "*.xml" | xargs grep your_keyword | cut -d':' -f1 | sort | uniq | xargs -I {} mv {} dist_dir/

mv files with | xargsを参考にしました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?