shell
結論 空文字でgrepする。 $ find . | xargs grep ""
カレントディレクトリにある*.csvの拡張子を.txtに変える。 for fname in *.csv; do mv $fname ${fname%.csv}.txt; done
結論 (なんらかのなにか) | tee output.txt これで、output.txtに実行結果が書き込まれつつ、画面にも表示される。
異なるディレクトリに入った同名のファイルを1箇所にまとめたい。 ファイル名が同一なので、何かユニークな名前に変える必要がある。 結論 for i in `find . | grep .gz` do before=$i after=`echo $before | sed 's/\.\///g' | sed 's/\//_/g'` `cp $before…
あるコマンドの実行結果として得られたすべての行に対して別の処理を行いたい。 例えばfind .の結果に対して繰り返し同じ処理を適用したい。 結論 for line in `find .` ; do ; echo $line ; done 解説 find .の結果が変数$lineに格納される。 echo $lineがf…
結論 $nohup コマンド
結論 du -d 1でOK
結論 for f in *.csv ; do ;cat $f | iconv -f CP932 > $f.utf8 ; rm $f ; mv $f.utf8 $f ; done 説明 シェルでワイルドカードで指定したファイル全てに対して特定の処理をしたい - 時系列のフリーランチshinya131-note.hatenablog.jp Excelで作成されたSJIS…
結論 for f in *.csv ; do ; (ここお好きな処理を書く。$fにファイル名が入っている) ; done 説明 イテレーターみたいなやつ
結論 mコマンドのmjoin使うのが良さそう mjoin k=Ticket m=ticket_duplicate_count_table i=train.csv 説明 i=で指定したファイルに、列を追加している。 結合のキーはk=で指定したカラム データソースはm=で指定したカラム このような操作をコマンドライン…
結論 cat あるファイル | sort | uniq -c | awk '$1 > 1' 解説 sortしてuniq -cすることで、1列目に出現回数、2列目に内容が出力される。 awkで1列目が2以上になっている行(=重複した行)を取り出してる。
結論 -Iオプションを使う。 find .| xargs -I{} cp {} ~/scenario Man page of XARGS 解説 -Iオプションで置換対象文字を指定できる。
結論 find .で全ファイル名を取得して正規表現で探す $ find . -type f | awk -F / '{print $NF}' | awk '!/^[a-zA-Z0-9._-]+$/' has_space_file_name 2.png has_ampersand_file&name.jpg 日本語のファイル名.txt 説明 find . -type f | # 全ファイル名を取…
alias便利 shellのaliasは便利な機能だ。 よく使うコマンドに短縮型を設定してシェルの操作を効率化することができる。 #.zshrc alias g='git' $ g status On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working di…
結果イメージ やりかた .zshrcにこれを追記 ## enterをおした時にls & git status function do_enter() { if [ -n "$BUFFER" ]; then zle accept-line return 0 fi echo echo -e "\e[0;33m--- ls ---\e[0m" ls # ↓おすすめ # ls_abbrev if [ "$(git rev-pars…
vcs_infoというzshの拡張機能を使えば実現できる。 できる。 例 .zscrhの中にこんな感じで書く。 autoload -Uz vcs_info ## プロンプトが表示される毎に実行される関数 precmd () { vcs_info } ## prompt ### vcs_info 表示内容をカスタマイズ zstyle ':vcs_…
結論 .zshrcでPROMPT変数を設定すればよい。 例 このように設定する: # .zshrc PROMPT="%~ %# " 以下のようになる: ~/Desktop % %~はカレントディレクトリを表す。 このような特殊変数がいくつか用意されているので好きなようにカスタマイズする。 続き ググ…
課題 Terminalでexitした時に[プロセスが完了しました]などと表示されて、即座にタブが閉じない。この挙動を変えたい。 解決策 command + ,でTerminalの設定を開き、シェル終了時:の動作をウインドウを閉じるにすれば良い。