Vì bạn đã xử lý việc này rồi awk
, bạn cũng có thể trực tiếp thực hiện toàn bộ việc này:
$ echo "foo bar :29.06.2019 23:03:17" | awk '{sub(/^:/,"",$3); print $3,$4}'
29.06.2019 23:03:17
Các sub
định dạng chung của lệnh là sub(/REGEX/, REPLACEMENT, TARGET)
và sẽ thay thế tất cả các trận đấu cho các biểu thức chính quy REGEX
với chuỗi REPLACEMENT
trong chuỗi đầu vào TARGET
. Ở đây, chúng tôi đang thay thế cái đầu tiên :
( ^
có nghĩa là "sự khởi đầu") từ trường thứ 3 ( $3
) bằng không có gì.
Tất nhiên, nếu bạn đang làm điều đó trong awk, bạn cũng có thể làm mọi thứ trong awk và hoàn thành mọi việc trong một thao tác duy nhất:
$ echo "Logfile started :29.06.2019 23:03:17" |
awk '/Logfile started/{sub(/^:/,"",$3); print $3,$4}'
29.06.2019 23:03:17
Hoặc, trong trường hợp của bạn:
TDS="$(awk '/Logfile started/{sub(/^:/,"",$3); print $3,$4}' process.log)"
echo "$TDS"