複数のファイル名を含むファイルがあります。
$ cat test_as1
/var/incoming/foo.txt
/var/incoming/bar.txt
/var/incoming/baz.txt
各ファイル名について、ディレクトリ名とデフォルトのファイル名をコンマで区切って印刷したいと思います。たとえば、
/var/incoming,foo.txt
/var/incoming,bar.txt
/var/incoming,baz.txt
どうすればいいですか?
ベストアンサー1
パラメータ拡張を使用してファイルを繰り返し、最後のスラッシュの前後の部分を印刷できます。
while IFS= read -r line; do
printf '%s,%s\n' "${line%/*}" "${line##*/}"
done < test_as1
"${line%/*}"
/*
行末の最短項目を削除し、"${line##*/}"
行の先頭から最長項目を削除します。*/