shell
1% find . 2. 3./ft_magic 4./ii 5./test1 6./.test0 7./test3 8./test2
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
AWK 使うなら
awk
1find . | awk 'NR>1{print substr($0,3)}'
シェルだけでやるなら
bash
1find . | \ 2while IFS=/ read x y 3do 4 if [ $y ] 5 then 6 echo $y 7 fi 8done
--- 追記 ---
ところで -type fで実行したところawkコマンドではft_magicが消えてしまいます。なぜでしょうか。
"." はディレクトリなので表示されない
無条件に一行目をスキップするので、上記の場合一行目に来る "ft_magic" がスキップされる
と思われます。
またwhile文はうまく行ったのですが同じ命令文で問題ありませんか?
上記は(結果的に) "/" を含まないものをスキップしている
"-type f" が無い場合はスキップするし、ある場合はなにもしない
という動きになります。
--- 追記 ---
"NR>0" とするくらいなら無くてもいいスよ~
bash
1find . -type f | awk '{print substr($0,3)}'
投稿2021/11/21 13:31
編集2021/11/22 11:11総合スコア7464
0
bashなら
bash
1shopt -s dotglob ; find *
shopt -s dotglob
は *
でカレントディレクトリの.
で始まるファイルやディレクトリも展開させるためです。必要なければ要りません。
shopt -s dotglob
を解除するにはshopt -u dotglob
です。
投稿2021/11/21 13:06
総合スコア8402
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/21 16:51
2021/11/21 17:09
2021/11/22 03:32
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/21 17:42 編集
2021/11/22 03:18