40

12/12/2013 14:32日付を only に変換したいので、日付があります12/12/2013。文字列は、1/1/2013 12:32または1/10/2013 23:41日付部分のみが必要です。

4

3 に答える 3

72

これは、さまざまな Unix ツールを使用して簡単に行うことができます。

$ cut -d' ' -f1  <<< "12/12/2013 14:32"
12/12/2013

$ awk '{print $1}' <<< "12/12/2013 14:32"
12/12/2013

$ sed 's/ .*//' <<< "12/12/2013 14:32"
12/12/2013

$ grep -o "^\S\+"  <<< "12/12/2013 14:32"
12/12/2013

$ perl -lane 'print $F[0]' <<< "12/12/2013 14:32"
12/12/2013
于 2013-02-22T12:48:08.673 に答える
15
$ echo "12/12/2013 14:32" | awk '{print $1}'
12/12/2013

print $1--> 指定された文字列の最初の列を出力します。 12/12/2013

print $2--> 指定された文字列の 2 列目を出力します。 14:32

デフォルトでは、awk はスペース文字を区切り文字として扱います。

于 2013-02-22T15:26:18.613 に答える
4

cut日付文字列が変数に格納されている場合は、awkやなどの外部プログラムを実行する必要はありませんsed。最新のシェルでは文字列操作をbash直接実行できるため、より効率的です。

たとえば、bash では次のようになります。

$ s="1/10/2013 23:41"
$ echo "${s% *}"
1/10/2013
于 2013-02-22T13:28:29.947 に答える