現在、次の形式のタブで区切られたテキストファイルがあります。
David Webb Box 34 Rural Route 2 Nixa MO 65714 (417)555-1478 555-66-7788 09-13-1970
Martha Kent 1122 North Hwy 5 Smallville KS 66789 (785)555-2322 343-55-8845 04-17-1965
Edward Nygma 443 W. Broadway Gotham City NJ 12458 (212)743-3537 785-48-5524 08-08-1987
代わりに日付形式を指定しようとしていますSeptember 13, 1970
。09-13-1970
私がしようとしていたのは、cut -f 9 file > tmpfile
次のものを使用することです。
date -f tmpfile "+%B %d, %Y" > date
でもずっと言うじゃない
date: invalid date ‘09-13-1970’
date: invalid date ‘04-17-1965’
date: invalid date ‘08-08-1987’
私は何が間違っていましたか?
ベストアンサー1
その入力形式では日付は許可されません。ストリーム編集入力のように、年を前に入力してください。
cut -f 9 file | sed 's/\(..\)-\(..\)-\(....\)/\3-\1-\2/' > tmpfile
手動テスト:
$ date --date '09-13-1970' "+%B %d, %Y"
date: invalid date ‘09-13-1970’
$ date --date '09/13/1970' "+%B %d, %Y"
September 13, 1970
$ date --date '1970/09/13' "+%B %d, %Y"
September 13, 1970
$ date --date '1970-09-13' "+%B %d, %Y"
September 13, 1970