Van egy fájlom, str.txt
, a következő mintarekordokkal.
31,2713810299,1,11-Aug-15 19:52:10 32,2713810833,1,11-Aug-15 21:36:18
Most az awk-val akarom kinyomtatni a kimenetet, az alábbiak szerint.
cat str.txt|awk -F, "{print substr("$4",1,9)}" -
A kimenetet :
"11-Aug-15" "11-Aug-15"
Válasz
egyetlen ajánlat \x27
awk -F, "{print "\x27"substr($4,1,9)"\x27" }"
megjegyzések
- oktális
\047
'
, nem hex\x27
. Lásd: awk.freeshell.org/PrintASingleQuote . - \ x22 kettős árajánlatot (ha szüksége van rá)
Válasz
POSIXly:
awk -F"[ ,]" -v q=""" "{print q$4q}" <file
Válasz
Kissé eltérő megközelítés a POSIX Awk esetében:
awk -F"[, ]" "{printf "\047%s\047\n", $4}" file "11-Aug-15" "11-Aug-15"
Válasz
Használhatja az awk
parancsot, mint ez:
cat str.txt|awk -F, "{print substr($4,1,9)}" -
A következő kimenet megszerzéséhez:
11-Aug-15 11-Aug-15
Ha egyes idézőjelek szükségesek a sorok elején és végén, akkor:
cat str.txt|awk -F, "{printf "\047%s\047\n",substr($4,1,9)}" -
A következő kimenet megszerzéséhez:
"11-Aug-15" "11-Aug-15"
Hozzászólások
- Nincs egyetlen idézetek kerülnek kinyomtatásra, amelyet a kérdés megad …
- @jasonwryan: Kérjük, ellenőrizze a válasz frissítését a követelményeknek megfelelően.